如果这是个愚蠢的问题,我真的很抱歉,但不知怎么的,我无法让options.DisableScopeValidation()工作。
我的代码
// OpenIddict
builder.Services.AddOpenIddict()
.AddCore(options =>
{
options.UseEntityFrameworkCore().UseDbContext<ApplicationDbContext>();
})
.AddServer(options =>
{
// Flow
options
.AllowAuthorizationCodeFlow().RequireProofKeyForCodeExchange()
.AllowClientCredentialsFlow()
.AllowRefreshTokenFlow();
options.SetAuthorizationEndpointUris("/connect/authorize"); // Ni flow yang user login kt VentureAuth.
options.SetTokenEndpointUris("/connect/token"); // Token Endpoint: Clients nak mintak token, mintak kat sini.
options.SetUserinfoEndpointUris("/connect/userinfo");
// Can disable access token encryption if want to read access token
// https://dev.to/robinvanderknaap/setting-up-an-authorization-server-with-openiddict-part-iii-client-credentials-flow-55lp
options
.AddEphemeralEncryptionKey()
.AddEphemeralSigningKey()
.DisableAccessTokenEncryption();
//options.RegisterScopes("api");
options
.UseAspNetCore()
.EnableTokenEndpointPassthrough()
.EnableAuthorizationEndpointPassthrough()
.EnableUserinfoEndpointPassthrough();
options.DisableScopeValidation();
});
当我不发送任何范围时,我可以检索一个令牌。但是,每当我发送任何其他未定义的作用域时,我都会得到以下消息:
error:invalid_request
error_description:This client application is not allowed to use the specified scope.
error_uri:https://documentation.openiddict.com/errors/ID2051
这是我请求的屏幕截图:邮递员请求截图
谢谢。
发布于 2022-07-21 03:41:17
当然,只有在我在StackOverflow上发布了这个问题之后,我才能自己找到答案。
对于这种情况,错误消息指的是客户端应用程序的范围权限。
因此,若要禁用范围权限检查,请添加以下行;
options.IgnoreScopePermissions();
谢谢,希望这对其他人也有帮助。
https://stackoverflow.com/questions/73060309
复制相似问题