Я использую Owin и ASP.NET Identity для использования токенов OAuth для защиты моих методов Web API. Подсистема токена настраивается как таковая:
var oauthOptions = new OAuthAuthorizationServerOptions()
{
TokenEndpointPath = new PathString("/Token"),
Provider = new SimpleAuthorizationServerProvider(),
AccessTokenFormat = new TicketDataFormat(app.CreateDataProtector(typeof(OAuthAuthorizationServerMiddleware).Namespace, "Access_Token", "v1")),
RefreshTokenFormat = new TicketDataFormat(app.CreateDataProtector(typeof(OAuthAuthorizationServerMiddleware).Namespace, "Refresh_Token", "v1")),
AccessTokenProvider = new AuthenticationTokenProvider(),
RefreshTokenProvider = new AuthenticationTokenProvider(),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
AllowInsecureHttp = true
};
app.UseOAuthAuthorizationServer(oauthOptions);
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
Он отлично подходит для запроса токенов на основе имени пользователя/пароля и последующего использования этих токенов. Однако, поскольку пользователь уже прошел аутентификацию при нажатии контроллера, который отображает SPA, я хотел бы сгенерировать токен в моем представлении и передать его в код Javascript вместо того, чтобы снова войти в систему SPA.
Поэтому мой вопрос: как мне вручную генерировать свой токен, чтобы я мог включить его в свой вид SPA?