public async Task <(IOauthToken token, string owner)> RefreshToken(string refreshToken, IScope scope) { IOauthToken token = (IOauthToken) await GetToken(refreshToken, scope); IJwtToken jwtToken = await validationManager.ValidateTokenAsync(token); return(token, jwtToken.Name); }
public void SaveToken(string token) { Token = JwtToken.Process(token); _context.Token = Token.RawToken; _context.Id = Token.Id; //TODO: This will be null. _context.Email = Token.Email; _context.IsLoggedIn = true; }
public AccountService(AppDbContext appDbContext, IJwtToken jwtToken, UserManager <AppUser> userManager, SignInManager <AppUser> signInManager) { _appDbContext = appDbContext; _jwtToken = jwtToken; _userManager = userManager; _signInManager = signInManager; _appDbContext.Database.EnsureCreated(); }
public UserController(UserManager <AppUser> userManager, SignInManager <AppUser> signInManager, IJwtToken jwtToken, ApplicationDbContext context, IUserAccessor userAccessor) { _jwtToken = jwtToken; _context = context; _userAccessor = userAccessor; _signInManager = signInManager; _userManager = userManager; }
/// <summary> /// 驗證JWT /// </summary> /// <param name="token">JWT字串</param> /// <param name="signingCredentials">簽名鑰匙</param> /// <param name="result">剖析後的JWT結構</param> /// <returns>是否合法</returns> public static bool Verify( string token, SecurityKey signingCredentials, out IJwtToken <DefaultJwtHeader, dynamic> result) { var tempResult = new TempToken <dynamic>(); var returnValue = Verify <TempToken <dynamic>, DefaultJwtHeader, dynamic>(token, signingCredentials, out tempResult); result = tempResult; return(returnValue); }
public AccountService( UserManager <ApplicationUser> userManager, SignInManager <ApplicationUser> signInManager, IConfiguration configuration, IJwtToken jwtToken) { _userManager = userManager; _signInManager = signInManager; _configuration = configuration; _jwtToken = jwtToken; }
/// <summary> /// 驗證JWT /// </summary> /// <typeparam name="TJwtPayload">內容類型</typeparam> /// <param name="token">JWT字串</param> /// <param name="signingCredentials">簽名鑰匙</param> /// <param name="result">剖析後的JWT結構</param> /// <param name="exception">例外</param> /// <returns>是否合法</returns> public static bool Verify <TJwtPayload>( string token, SecurityKey signingCredentials, out IJwtToken <DefaultJwtHeader, TJwtPayload> result, out Exception exception) { var tempResult = new TempToken <TJwtPayload>(); var returnValue = Verify <TempToken <TJwtPayload>, DefaultJwtHeader, TJwtPayload>(token, signingCredentials, out tempResult, out exception); result = tempResult; return(returnValue); }
public void PropertyTests() { Mock <IJwtToken> mJwtToken = new Mock <IJwtToken>(); mJwtToken.SetupAllProperties(); IJwtToken token = mJwtToken.Object; DateTime time = DateTime.UtcNow.AddSeconds(4); token.Expiration = time; Assert.Equal(time, token.Expiration); mJwtToken.VerifyAll(); }
public ActionResult <AccessToken> Post(Credentials credentials, [FromServices] IJwtToken jwtToken) { if (credentials.Username == "Kimserey") { return(new AccessToken { Token = jwtToken.Generate(credentials.Username) }); } return(Unauthorized()); }
/// <summary> /// 簽名並產生JWT字串 /// </summary> /// <typeparam name="TJwtHeader">標頭類型</typeparam> /// <typeparam name="TJwtPayload">內容類型</typeparam> /// <param name="token">JWT結構</param> /// <param name="signingCredentials">簽名鑰匙</param> /// <returns>JWT字串</returns> public static string Sign <TJwtHeader, TJwtPayload>( this IJwtToken <TJwtHeader, TJwtPayload> token, SecurityKey signingCredentials) where TJwtHeader : IJwtHeader { var nToken = new SystemJWT.JwtSecurityToken(signingCredentials: new SigningCredentials(signingCredentials, token.Header.Algorithm)); SetToJwtHeader(token.Header, nToken.Header); SetToJwtPayload(token.Payload, nToken.Payload); return("bearer " + new SystemJWT.JwtSecurityTokenHandler().WriteToken( nToken )); }
public async Task <(IOauthToken token, string owner)> ListenForResponse(IScope scope, AuthUrl authUrl) { IAuthResponse response = await responseManager.AwaitResponse(20000); if (authUrl.State != response.State) { throw new Exception("Invalid auth response state."); } IOauthToken token = await GetToken(response, authUrl, scope); IJwtToken jwtToken = await validationManager.ValidateTokenAsync(token); return(token, jwtToken.Name); }
public async Task <(IOauthToken token, string owner)> GetToken(IScope scope) { AuthUrl authUrl = GenerateAuthUrl(scope.ScopeString); IAuthResponse response = await responseManager.GetResponse(authUrl.Url, 10000); if (authUrl.State != response.State) { throw new Exception("Invalid auth response state."); } IOauthToken token = await GetToken(response, authUrl, scope); IJwtToken jwtToken = await validationManager.ValidateTokenAsync(token); return(token, jwtToken.Name); }
public AccountController( UserManager <AppIdentityUser> userManager, SignInManager <AppIdentityUser> signInManager, IEmailSender emailSender, IMailChimpSender mailChimp, IOptions <JwtSettings> jwtOptions, IJwtToken jwtToken, IHttpContextAccessor context ) { this.userManager = userManager; this.signInManager = signInManager; this.emailSender = emailSender; this.mailChimp = mailChimp; this.jwtSettings = jwtOptions.Value; this.jwtToken = jwtToken; this.context = context; }
public AccountController(UserManager <ApplicationUser> userManager, SignInManager <ApplicationUser> signInManager, IJwtToken jwtToken) { _userManager = userManager; _signInManager = signInManager; _jwtToken = jwtToken; }
public JwtValidator(IJwtToken jwtToken) { this.jwtToken = jwtToken; }
public AccountsController(IUsersService usersService, IJwtToken jwtToken) { _usersService = usersService; _jwtToken = jwtToken; }
public async Task Initialize() { this.jwtToken = new JwtToken(this.serviceProvider.GetRequiredService <IGenericRepository <UserToken> >()); }
public UsersRepository(DataContext context, IJwtToken jwtToken) { _context = context; _jwtToken = jwtToken; _sendEmail = new SendEmail(); }
public void RemoveToken() { Token = null; _context.Clear(); }
public LoginController(IJwtToken jwt) { _jwt = jwt; }