【发布时间】:2021-11-16 12:23:29
【问题描述】:
我有 2 个 .NET 解决方案:一个 webapp,一个 API。 当用户浏览 webapp 时,他需要进行身份验证,因此面临以下问题:
return builder.AddOpenIdConnect("contonso", options =>
{
options.Authority = configuration["Contonso:Oidc:Authority"];
options.ClientId = configuration["Contonso:Oidc:ClientId"];
options.ClientSecret = configuration["Contonso:Oidc:ClientSecret"];
options.ResponseType = OpenIdConnectResponseType.Code;
options.ProtocolValidator.RequireState = true;
options.UsePkce = false;
options.SaveTokens = true;
options.GetClaimsFromUserInfoEndpoint = true;
}
当我得到所有信息时,这很好用:code、token、id_token 一旦用户通过身份验证。
- 我将上面的代码复制到我的 API 中,并将 clientId/clientSecret 更改为指向我的资源服务器。
- 我从我的 web 应用调用 API 添加授权:Bearer
token(之前收到)。
但是在 API 解决方案中,我每次都会被重定向到登录页面,无论我在授权标头中传递什么。
我是否需要更改我的 API 代码中的某些内容以使令牌“传输”到资源服务器并验证收到的令牌?
干杯,
【问题讨论】:
标签: asp.net-core openid-connect