我在ASP.NET Core 2.0应用程序中使用OpenIdConnectMiddleware
,使用Auth0作为身份验证。
我已经按照this guide通过Auth0实现身份验证,并且可以成功登录。
现在我想使用检索到的访问令牌来访问单独的API;为了实现这一点,我需要在使用Auth0,audience
进行授权时包含一个as described here参数。
由于OpenID Connect中间件使用Auth0处理授权,并且Audience
上没有OpenIdConnectOptions
设置,如何指定应传递给audience
端点的/authorize
参数?
在this blog post from Jerrie Pelser找到了答案。我需要使用OnRedirectToIdentityProvider
事件处理程序来设置audience
:
options.Events = new OpenIdConnectEvents {
OnRedirectToIdentityProvider = context => {
context.ProtocolMessage.SetParameter("audience", "https://my/api");
return Task.CompletedTask;
},
...
}