public AuthorizeController(IStoredGrantManager handleManager, IAuthorizationServerConfiguration config, TokenService tokenService, ISmiIdentity identityConfig) { _handleManager = handleManager; _config = config; _identityConfig = identityConfig; _tokenService = tokenService; }
public virtual TokenResponse CreateTokenResponseFromAuthorizationCode(StoredGrant handle, IStoredGrantManager handleManager) { var resourceOwner = Principal.Create( "OAuth2", handle.ResourceOwner.ToClaims().ToArray()); var validatedRequest = new ValidatedRequest { Client = handle.Client, Application = handle.Application, Scopes = handle.Scopes }; var response = CreateTokenResponse(validatedRequest, resourceOwner); if (handle.CreateRefreshToken) { var refreshTokenHandle = StoredGrant.CreateRefreshTokenHandle( resourceOwner.GetSubject(), handle.Client, handle.Application, resourceOwner.Claims, handle.Scopes, handle.RefreshTokenExpiration.Value, validatedRequest.Client.AllowRefreshToken && validatedRequest.Application.AllowRefreshToken); handleManager.Add(refreshTokenHandle); response.RefreshToken = refreshTokenHandle.GrantId; } handleManager.Delete(handle.GrantId); return response; }
public TokenController(IResourceOwnerCredentialValidation rocv, IAuthorizationServerConfiguration config, IStoredGrantManager handleManager, IAssertionGrantValidation assertionGrantValidator) { _rocv = rocv; _config = config; _handleManager = handleManager; _assertionGrantValidator = assertionGrantValidator; }
public TokenController( IResourceOwnerCredentialValidation rocv, IAuthorizationServerConfiguration config, IStoredGrantManager handleManager) { _rocv = rocv; _config = config; _handleManager = handleManager; }
public void Init() { DataProtectection.Instance = new NoProtection(); _testConfig = new TestAuthorizationServerConfiguration(); _storedGrantManager = new TestTokenHandleManager("abc", "client", "https://validredirect"); _clientManager = new TestClientManager() { Id = "client", Secret = "secret", OAuthFlow = OAuthFlow.Client, AllowRefreshTokens = false }; _client = Principal.Create("Test", new Claim("client_id", "client"), new Claim("secret", "secret")); }
public virtual TokenResponse CreateTokenResponse(StoredGrant handle, IStoredGrantManager handleManager) { if (handle.Type == StoredGrantType.AuthorizationCode) { return(CreateTokenResponseFromAuthorizationCode(handle, handleManager)); } if (handle.Type == StoredGrantType.RefreshTokenIdentifier) { return(CreateTokenResponseFromRefreshToken(handle, handleManager)); } throw new ArgumentException("handle.Type"); }
public virtual TokenResponse CreateTokenResponse(StoredGrant handle, IStoredGrantManager handleManager) { if (handle.Type == StoredGrantType.AuthorizationCode) { return CreateTokenResponseFromAuthorizationCode(handle, handleManager); } if (handle.Type == StoredGrantType.RefreshTokenIdentifier) { return CreateTokenResponseFromRefreshToken(handle, handleManager); } throw new ArgumentException("handle.Type"); }
public TokenController( IResourceOwnerCredentialValidation rocv, IAuthorizationServerConfiguration config, IStoredGrantManager handleManager, IAssertionGrantValidation assertionGrantValidator, TokenService tokenService) { _rocv = rocv; _config = config; _handleManager = handleManager; _assertionGrantValidator = assertionGrantValidator; _tokenService = tokenService; }
public virtual TokenResponse CreateTokenResponseFromRefreshToken(StoredGrant handle, IStoredGrantManager handleManager) { var resourceOwner = Principal.Create( "OAuth2", handle.ResourceOwner.ToClaims().ToArray()); if (DateTime.UtcNow > handle.Expiration) { throw new InvalidOperationException("Refresh token has expired."); } var validatedRequest = new ValidatedRequest { Client = handle.Client, Application = handle.Application, Scopes = handle.Scopes, }; var response = CreateTokenResponse(validatedRequest, resourceOwner); response.RefreshToken = handle.GrantId; return response; }
public TokenRequestValidator(IStoredGrantManager handleManager, IClientManager clientManager) { _handleManager = handleManager; _clientManager = clientManager; }
public AuthorizeController(IStoredGrantManager handleManager, IAuthorizationServerConfiguration config, TokenService tokenService) { _handleManager = handleManager; _config = config; _tokenService = tokenService; }
public AuthorizeController(IStoredGrantManager handleManager, IAuthorizationServerConfiguration config) { _handleManager = handleManager; _config = config; }
public virtual TokenResponse CreateTokenResponseFromRefreshToken(StoredGrant handle, IStoredGrantManager handleManager) { var resourceOwner = Principal.Create( "OAuth2", handle.ResourceOwner.ToClaims().ToArray()); if (DateTime.UtcNow > handle.Expiration) { throw new InvalidOperationException("Refresh token has expired."); } var validatedRequest = new ValidatedRequest { Client = handle.Client, Application = handle.Application, Scopes = handle.Scopes, }; var response = CreateTokenResponse(validatedRequest, resourceOwner); if (handle.CreateRefreshToken) { StoredGrant refreshTokenHandle; if (validatedRequest.Application.AllowSlidingRefreshTokenExpiration) { var rememberTimeSpan = handle.Expiration.Subtract(handle.Created); var newRefreshTokenExpiration = DateTime.UtcNow.Add(rememberTimeSpan); refreshTokenHandle = StoredGrant.CreateRefreshTokenHandle( resourceOwner.GetSubject(), handle.Client, handle.Application, resourceOwner.Claims, handle.Scopes, newRefreshTokenExpiration, createRefreshToken: validatedRequest.Client.AllowRefreshToken && validatedRequest.Application.AllowRefreshToken); } else { refreshTokenHandle = StoredGrant.CreateRefreshTokenHandle( resourceOwner.GetSubject(), handle.Client, handle.Application, resourceOwner.Claims, handle.Scopes, handle.Expiration, createRefreshToken: validatedRequest.Client.AllowRefreshToken && validatedRequest.Application.AllowRefreshToken); } response.RefreshToken = refreshTokenHandle.GrantId; handleManager.Add(refreshTokenHandle); handleManager.Delete(handle.GrantId); } else { response.RefreshToken = handle.GrantId; } return response; }
public TokenRequestValidator(IStoredGrantManager handleManager) { _handleManager = handleManager; }
public virtual TokenResponse CreateTokenResponseFromAuthorizationCode(StoredGrant handle, IStoredGrantManager handleManager) { var resourceOwner = Principal.Create( "OAuth2", handle.ResourceOwner.ToClaims().ToArray()); var validatedRequest = new ValidatedRequest { Client = handle.Client, Application = handle.Application, Scopes = handle.Scopes }; var response = CreateTokenResponse(validatedRequest, resourceOwner); if (handle.CreateRefreshToken) { var refreshTokenHandle = StoredGrant.CreateRefreshTokenHandle( resourceOwner.GetSubject(), handle.Client, handle.Application, resourceOwner.Claims, handle.Scopes, handle.RefreshTokenExpiration.Value); handleManager.Add(refreshTokenHandle); response.RefreshToken = refreshTokenHandle.GrantId; } handleManager.Delete(handle.GrantId); return(response); }
public virtual TokenResponse CreateTokenResponseFromRefreshToken(StoredGrant handle, IStoredGrantManager handleManager) { var resourceOwner = Principal.Create( "OAuth2", handle.ResourceOwner.ToClaims().ToArray()); if (DateTime.UtcNow > handle.Expiration) { throw new InvalidOperationException("Refresh token has expired."); } var validatedRequest = new ValidatedRequest { Client = handle.Client, Application = handle.Application, Scopes = handle.Scopes, }; var response = CreateTokenResponse(validatedRequest, resourceOwner); response.RefreshToken = handle.GrantId; return(response); }
public virtual TokenResponse CreateTokenResponseFromRefreshToken(StoredGrant handle, IStoredGrantManager handleManager) { var resourceOwner = Principal.Create( "OAuth2", handle.ResourceOwner.ToClaims().ToArray()); if (DateTime.UtcNow > handle.Expiration) { throw new InvalidOperationException("Refresh token has expired."); } var validatedRequest = new ValidatedRequest { Client = handle.Client, Application = handle.Application, Scopes = handle.Scopes, }; var response = CreateTokenResponse(validatedRequest, resourceOwner); if (handle.CreateRefreshToken) { StoredGrant refreshTokenHandle; if (validatedRequest.Application.AllowSlidingRefreshTokenExpiration) { var rememberTimeSpan = handle.Expiration.Subtract(handle.Created); var newRefreshTokenExpiration = DateTime.UtcNow.Add(rememberTimeSpan); refreshTokenHandle = StoredGrant.CreateRefreshTokenHandle( resourceOwner.GetSubject(), handle.Client, handle.Application, resourceOwner.Claims, handle.Scopes, newRefreshTokenExpiration, createRefreshToken: validatedRequest.Client.AllowRefreshToken && validatedRequest.Application.AllowRefreshToken); } else { refreshTokenHandle = StoredGrant.CreateRefreshTokenHandle( resourceOwner.GetSubject(), handle.Client, handle.Application, resourceOwner.Claims, handle.Scopes, handle.Expiration, createRefreshToken: validatedRequest.Client.AllowRefreshToken && validatedRequest.Application.AllowRefreshToken); } response.RefreshToken = refreshTokenHandle.GrantId; handleManager.Add(refreshTokenHandle); handleManager.Delete(handle.GrantId); } else { response.RefreshToken = handle.GrantId; } return(response); }