当前位置: 首页 > 编程语言 > C#

Swashbuckle.AspNetCorev1.0.0withOAuth2,流程:application--IdentityServer4share

时间:2023-04-10 12:24:07 C#

swashbuckle,OAuth2togetherusingApplicationFlow。当我单击“授权”按钮时,Fiddler显示调用正常,并且我的本地IdentityServer(4)使用access_token进行回复。这一切都很棒,但我不认为Swagger接受了这个,没有任何反应,我无法在没有得到401的情况下触发我的控制器方法。我没有看到任何cookie,没有。我确定我错过了一些非常微不足道的东西。有人能帮我吗?相关代码:在Startup.cs中配置服务c.AddSecurityDefinition("oauth2",newOAuth2Scheme{Type="oauth2",Flow="application",TokenUrl="http://localhost:61798/connect/token",Scopes=newDictionary{{"readAccess","访问读操作"},{"writeAccess","访问写操作"}}});在Startup.cs中配置app.UseIdentityServerAuthentication(newIdentityServerAuthenticationOptions{Authority="http://localhost:61798",RequireHttpsMetadata=false,ApiName="api1",AutomaticAuthenticate=true,//不改变任何东西...});....app.UseSwagger();app.UseSwaggerUI(c=>{c.SwaggerEndpoint("/swagger/v1/swagger.json","V1Docs");c.ConfigureOAuth2("Swagger","swaggersecret","swaggerrealm","SwaggerUI");});我的IdentityServer配置没问题。我可以在Postman和一个简单的客户端中毫无问题地调用这个API。我唯一的问题是Swagger(Swashbuckle.AspNetCore1.0.0)。我们当前的项目有一个非常相似的设置。我们的restapi受jwtbearerauthentication和azureadb2c的保护。在这种情况下,无法自动获取令牌。该解决方案非常适合我们:https://stackoverflow.com/a/39759152/536196services.AddSwaggerGen(c=>{c.OperationFilter();});之后,当您运行swaggerUI时,您应该会看到令牌的附加字段。以上就是C#学习教程的全部内容:Swashbuckle.AspNetCorev1.0.0withOAuth2,流程:应用->IdentityServer4。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注——本文来自网络收藏,不代表立场,如涉及侵权,请右击联系管理员删除。如需转载请注明出处: