/// <summary> /// In a Web API, adds to the MSAL.NET cache, the account of the user for which a bearer token was received when the Web API was called. /// An access token and a refresh token are added to the cache, so that they can then be used to acquire another token on-behalf-of the /// same user in order to call to downstream APIs. /// </summary> /// <param name="tokenValidationContext">Token validation context passed to the handler of the OnTokenValidated event /// for the JwtBearer middleware</param> /// <param name="scopes">[Optional] scopes to pre-request for a downstream API</param> /// <example> /// From the configuration of the Authentication of the ASP.NET Core Web API (for example in the Startup.cs file) /// <code>JwtBearerOptions option;</code> /// /// Subscribe to the token validated event: /// <code> /// options.Events = new JwtBearerEvents(); /// options.Events.OnTokenValidated = async context => /// { /// var tokenAcquisition = context.HttpContext.RequestServices.GetRequiredService<ITokenAcquisition>(); /// tokenAcquisition.AddAccountToCacheFromJwt(context); /// }; /// </code> /// </example> public void AddAccountToCacheFromJwt(Microsoft.AspNetCore.Authentication.JwtBearer.TokenValidatedContext tokenValidatedContext, IEnumerable <string> scopes) { if (tokenValidatedContext == null) { throw new ArgumentNullException(nameof(tokenValidatedContext)); } AddAccountToCacheFromJwt(scopes, tokenValidatedContext.SecurityToken as JwtSecurityToken, tokenValidatedContext.Principal, tokenValidatedContext.HttpContext); }
public virtual System.Threading.Tasks.Task TokenValidated(Microsoft.AspNetCore.Authentication.JwtBearer.TokenValidatedContext context) { throw null; }
public Task AddAccountToCacheFromJwtAsync(TokenValidatedContext tokenValidationContext, IEnumerable<string> scopes = null) { throw new NotImplementedException(); }