首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为SwaggerUI启用了pkce_missing_challenge,但服务器返回pkce_missing_challenge

为SwaggerUI启用了pkce_missing_challenge,但服务器返回pkce_missing_challenge
EN

Stack Overflow用户
提问于 2021-03-02 11:32:12
回答 1查看 415关注 0票数 0

在我的asp net核心3.0应用程序中,我使用了Swashbuckle版本的5.0.0版本:

代码语言:javascript
运行
复制
options.AddSecurityDefinition("OAuth2", new OpenApiSecurityScheme
        {
            Type = SecuritySchemeType.OAuth2,

            Flows = new OpenApiOAuthFlows
            {
                AuthorizationCode = new OpenApiOAuthFlow
                {
                    AuthorizationUrl = new Uri("https://my.okta.com/oauth2/v1/authorize"),
                    TokenUrl = new Uri("https://my.okta.com/oauth2/v1/token"),
                    Scopes = new Dictionary<string, string>
                        {
                        { "openid", "desc" }
                        },
                }
            },
            Description = "Balea Server OpenId Security Scheme"
        });

app.UseSwaggerUI(options =>
            {
            options.RoutePrefix = "docs";
          
            options.OAuthScopeSeparator(",");
            options.OAuthUsePkce();
            });

但是Auth服务器返回错误:

pkce_missing_challenge

以下是Auth服务器接收的请求日志:

/oauth2/v1/authorize?response_type=code&client_id=xxxxxxxxxxxxx&redirect_uri=https%3A%2F%2Flocalhost%3A8002%2Fdocs%2Foauth2-redirect.html&scope=openid&state=VHVlIE1hciAwMiAyMDIxIDExOjIyOjM3IEdNVCswMDAwIChXZXN0ZXJuIEV1cm9wZWFuIFN0YW5kYXJkIFRpbWUp

EN

回答 1

Stack Overflow用户

发布于 2021-03-05 21:12:01

因此,由于,我没有使用"Pkce“,而是使用了以下配置

代码语言:javascript
运行
复制
options.AddSecurityDefinition("OAuth2", new OpenApiSecurityScheme
            {
                Type = SecuritySchemeType.OAuth2,
                Flows = new OpenApiOAuthFlows
                {
                    Implicit = new OpenApiOAuthFlow
                    {
                        AuthorizationUrl = new Uri($"mydomain.com/oauth2/default/v1/authorize"),
                        TokenUrl = new Uri($"mydomain.com/oauth2/default/v1/token"),
                        Scopes = new Dictionary<string, string>
                            {
                            { "openid", "test" },
                            },
                    }
                },
            });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66438535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档