Descrição de funcionamento e implementações para a Sessão manager
A classe Autenticador é o componente top level do mecanismo, serve como um Facade dos outros componentes.
Essa classe é que será repassada no Injetor de Dependencia (DI) para os controllers e classes.
Para isso ele precisa ser implementado por uma classse concreta que saberá como Obter a sessão e trocar o token.
Esses dois métodos CriarSessao e ExchangeToken são os métodos base e uteis da classe Autenticador
Para tanto, a classe apenas delega essa função para a factory de criação de sessão SessaoFactory e TokenExchanger que realmente fazem o trabalho, sendo assim, na classe concreta é recomendável injetar a dependencia desses componentes no construtor.
Sendo assim, apenas esse controle se faz necessário no registro como singletown do ASP.Net, contudo a injeção recomendada é Singletown, sendo instanciado previamente.
Utilize a classe de extensão dos kits de implementação para esse fim pois eles já menipulam corretamente a criação do serviço no DI.
Diagrama base de implementação
Abaixo o código Marmeid do diagrama de sequencia:
Gere o diagrama no marmeid para uma melhor visualização