![](/img/trans.png)
[英]System.UnauthorizedAccessException: Access to the path denied error
[英]UnauthorizedAccessException consuming an API that requires access token
我正在開發.netcore 1.1 MVC應用程序,它是使用IdentityServer4授權的Open ID Connect客戶端。 它還使用需要授權的API。
當前,當訪問令牌到期並且調用了API時,我遇到了System.UnauthorizedAccessException “試圖執行未經授權的操作”。
我似乎無法弄清楚如何解決它。
這是配置客戶端的方式(注意,API已添加到作用域):
在Startup.cs中,我注冊了要使用的API,如下所示:
app.UseOpenIdConnectAuthentication(new OpenIdConnectOptions()
{
AuthenticationScheme = "oidc",
SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme,
Authority = identityServerServiceOptions.GetValue<string>("AuthorityUrl"),
RequireHttpsMetadata = false,
ResponseType = OpenIdConnectResponseType.CodeIdToken,
ClientId = identityServerServiceOptions.GetValue<string>("ClientId"),
ClientSecret = identityServerServiceOptions.GetValue<string>("ClientSecret"),
GetClaimsFromUserInfoEndpoint = true,
TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
NameClaimType = "name",
RoleClaimType = "role"
},
SaveTokens = true,
Scope =
{
"[APIName]",
"roles",
"offline_access"
}
});
客戶端在IdentityServer4表“ ClientScopes”中定義了以下范圍:
此外,[APIName]已添加到ApiResources,ApiClaims和ApiScopes。
我已經嘗試過:
如果您的訪問令牌過期,則需要使用您在登錄期間獲得的刷新令牌來續訂。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.