private async Task <AccessTokenViewModel> GenerateAccessTokenAsync(ApplicationUser user) { string refreshToken = Guid.NewGuid().ToString(); var dtIssued = DateTime.UtcNow; var dtExpired = dtIssued.AddMinutes(SWCmsConstants.AuthConfiguration.AuthCookieExpiration); var dtRefreshTokenExpired = dtIssued.AddDays(SWCmsConstants.AuthConfiguration.AuthCookieExpiration); RefreshTokenViewModel vmRefreshToken = new RefreshTokenViewModel( new RefreshTokens() { Id = refreshToken, Email = user.Email, IssuedUtc = dtIssued, ClientId = SWCmsConstants.AuthConfiguration.Audience, Username = user.UserName, //Subject = SWCmsConstants.AuthConfiguration.Audience, ExpiresUtc = dtRefreshTokenExpired }); var saveRefreshTokenResult = await vmRefreshToken.SaveModelAsync(); AccessTokenViewModel token = new AccessTokenViewModel() { Access_token = await GenerateTokenAsync(user, dtExpired, refreshToken), Refresh_token = saveRefreshTokenResult.Data.Id, Token_type = SWCmsConstants.AuthConfiguration.TokenType, Expires_in = SWCmsConstants.AuthConfiguration.AuthCookieExpiration, //UserData = user, Issued = dtIssued, Expires = dtExpired, }; return(token); }
private async Task <AccessTokenViewModel> GenerateAccessTokenAsync(ApplicationUser user, bool isRemember) { var dtIssued = DateTime.UtcNow; var dtExpired = dtIssued.AddMinutes(MixService.GetAuthConfig <int>("CookieExpiration")); var dtRefreshTokenExpired = dtIssued.AddMinutes(MixService.GetAuthConfig <int>("RefreshTokenExpiration")); string refreshTokenId = string.Empty; string refreshToken = string.Empty; if (isRemember) { refreshToken = Guid.NewGuid().ToString(); RefreshTokenViewModel vmRefreshToken = new RefreshTokenViewModel( new RefreshTokens() { Id = refreshToken, Email = user.Email, IssuedUtc = dtIssued, ClientId = MixService.GetAuthConfig <string>("Audience"), Username = user.UserName, //Subject = SWCmsConstants.AuthConfiguration.Audience, ExpiresUtc = dtRefreshTokenExpired }); var saveRefreshTokenResult = await vmRefreshToken.SaveModelAsync(); refreshTokenId = saveRefreshTokenResult.Data?.Id; } AccessTokenViewModel token = new AccessTokenViewModel() { Access_token = await GenerateTokenAsync(user, dtExpired, refreshToken), Refresh_token = refreshTokenId, Token_type = MixService.GetAuthConfig <string>("TokenType"), Expires_in = MixService.GetAuthConfig <int>("CookieExpiration"), //UserData = user, Issued = dtIssued, Expires = dtExpired, LastUpdateConfiguration = MixService.GetConfig <DateTime?>("LastUpdateConfiguration") }; return(token); }