public virtual async Task<TokenValidationResult> ValidateAccessTokenAsync(string token, string expectedScope = null) { var result = new TokenValidationResult(); if (token.Contains(".")) { _logger.VerboseFormat("Validating a JWT access token: {0}", token); result = await ValidateJwtAccessTokenAsync(token); } else { _logger.VerboseFormat("Validating a reference access token: {0}", token); result = await ValidateReferenceAccessTokenAsync(token); } if (expectedScope.IsPresent()) { var scope = result.Claims.FirstOrDefault(c => c.Type == Constants.ClaimTypes.Scope && c.Value == expectedScope); if (scope == null) { return Invalid(Constants.ProtectedResourceErrors.InsufficientScope); } } return result; }
public virtual async Task <TokenValidationResult> ValidateAccessTokenAsync(string token, string expectedScope = null) { var result = new TokenValidationResult(); if (token.Contains(".")) { _logger.VerboseFormat("Validating a JWT access token: {0}", token); result = await ValidateJwtAccessTokenAsync(token); } else { _logger.VerboseFormat("Validating a reference access token: {0}", token); result = await ValidateReferenceAccessTokenAsync(token); } if (expectedScope.IsPresent()) { var scope = result.Claims.FirstOrDefault(c => c.Type == Constants.ClaimTypes.Scope && c.Value == expectedScope); if (scope == null) { return(Invalid(Constants.ProtectedResourceErrors.InsufficientScope)); } } return(result); }
public virtual async Task<TokenValidationResult> ValidateAccessTokenAsync(string token, string expectedScope = null) { Logger.Info("Start access token validation"); Logger.Debug("Token: " + token); var result = new TokenValidationResult(); if (token.Contains(".")) { Logger.InfoFormat("Validating a JWT access token"); result = await ValidateJwtAccessTokenAsync(token); } else { Logger.InfoFormat("Validating a reference access token"); result = await ValidateReferenceAccessTokenAsync(token); } if (expectedScope.IsPresent()) { var scope = result.Claims.FirstOrDefault(c => c.Type == Constants.ClaimTypes.Scope && c.Value == expectedScope); if (scope == null) { Logger.InfoFormat("Checking for expected scope {0} failed", expectedScope); return Invalid(Constants.ProtectedResourceErrors.InsufficientScope); } Logger.InfoFormat("Checking for expected scope {0} succeeded", expectedScope); } Logger.Debug("Calling custom token validator"); var customResult = await _customValidator.ValidateAccessTokenAsync(result, _settings, _clients, _users); if (customResult.IsError) { Logger.Error("Custom validator failed: " + customResult.Error ?? "unknown"); } return customResult; }
public virtual async Task <TokenValidationResult> ValidateAccessTokenAsync(string token, string expectedScope = null) { Logger.Info("Start access token validation"); Logger.Debug("Token: " + token); var result = new TokenValidationResult(); if (token.Contains(".")) { Logger.InfoFormat("Validating a JWT access token"); result = await ValidateJwtAccessTokenAsync(token); } else { Logger.InfoFormat("Validating a reference access token"); result = await ValidateReferenceAccessTokenAsync(token); } if (expectedScope.IsPresent()) { var scope = result.Claims.FirstOrDefault(c => c.Type == Constants.ClaimTypes.Scope && c.Value == expectedScope); if (scope == null) { Logger.InfoFormat("Checking for expected scope {0} failed", expectedScope); return(Invalid(Constants.ProtectedResourceErrors.InsufficientScope)); } Logger.InfoFormat("Checking for expected scope {0} succeeded", expectedScope); } Logger.Debug("Calling custom token validator"); var customResult = await _customValidator.ValidateAccessTokenAsync(result, _settings, _clients, _users); if (customResult.IsError) { Logger.Error("Custom validator failed: " + customResult.Error ?? "unknown"); } return(customResult); }
public Task<TokenValidationResult> ValidateIdentityTokenAsync(TokenValidationResult result, CoreSettings settings, IClientService clients, IUserService users) { throw new NotImplementedException(); }
public Task<TokenValidationResult> ValidateAccessTokenAsync(TokenValidationResult result, CoreSettings settings, IClientService clients, IUserService users) { return Task.FromResult(result); }
public Task<TokenValidationResult> ValidateIdentityTokenAsync(TokenValidationResult result) { throw new NotImplementedException(); }
public Task<TokenValidationResult> ValidateAccessTokenAsync(TokenValidationResult result) { return Task.FromResult(result); }