Asp.net core 如何使用Swashback在ASP.NET Core中为Swagger UI执行OAuth2授权
SwashBulk OAuth2授权和客户端凭据在Asp.net core 如何使用Swashback在ASP.NET Core中为Swagger UI执行OAuth2授权,asp.net-core,swagger,swashbuckle,Asp.net Core,Swagger,Swashbuckle,SwashBulk OAuth2授权和客户端凭据在DotNet Core 2中流动 我想设置隐式流,授权URL,不同的范围,默认选择的客户端id, 因此,单击“授权”后,它应该导航到不同的选项卡,打开AuthorizationUrl,让用户登录Swagger。所以,下次用户可以看到注销选项 services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info() { Title = "", Des
DotNet Core 2中流动
我想设置隐式流
,授权URL
,不同的范围
,默认选择的客户端id
,
因此,单击“授权”后,它应该导航到不同的选项卡,打开AuthorizationUrl
,让用户登录Swagger
。所以,下次用户可以看到注销
选项
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info()
{
Title = "",
Description = "All rights reserved."
});
c.AddSecurityDefinition("oauth2", new OAuth2Scheme
{
Flow = "implicit",
AuthorizationUrl = "https://...",
Scopes = new Dictionary<string, string> {
{ "", "Read/Write" }
}
});
});
您可以尝试以下步骤来启用隐式Oauth2流:
更改Startup.cs并在ConfigureServices方法中替换先前添加的:
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
c.AddSecurityDefinition("oauth2", new OAuth2Scheme
{
Type = "oauth2",
Flow = "implicit",
AuthorizationUrl = "https://login.microsoftonline.com/cb1c3f2e-a2dd-4fde-bf8f-f75ab18b21ac/oauth2/authorize",
Scopes = new Dictionary<string, string>
{
{ "accessApi", "Access read operations" },
},
TokenUrl = "https://login.microsoftonline.com/cb1c3f2e-a2dd-4fde-bf8f-f75ab18b21ac/oauth2/token"
});
});
转到招摇过市端点:并单击Authorize
按钮
您可以尝试以下步骤来启用隐式Oauth2流:
更改Startup.cs并在ConfigureServices方法中替换先前添加的:
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
c.AddSecurityDefinition("oauth2", new OAuth2Scheme
{
Type = "oauth2",
Flow = "implicit",
AuthorizationUrl = "https://login.microsoftonline.com/cb1c3f2e-a2dd-4fde-bf8f-f75ab18b21ac/oauth2/authorize",
Scopes = new Dictionary<string, string>
{
{ "accessApi", "Access read operations" },
},
TokenUrl = "https://login.microsoftonline.com/cb1c3f2e-a2dd-4fde-bf8f-f75ab18b21ac/oauth2/token"
});
});
转到招摇过市端点:并单击Authorize
按钮
什么应该是ClientId
,swagger不允许使用现有的appSettings。json
的ClientId,它们是不同的客户端id是您在身份提供商(Oauth服务器)中注册的应用程序id,什么应该是ClientId
,swagger不允许使用现有的appSettings.json
的ClientId,它们是不同的客户端id是您在身份提供程序(Oauth服务器)中注册的应用程序id
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
c.OAuthClientId("19c73866-562f-482a-bafb-89d9fe9b0aaa");
c.OAuthAppName("Swagger Api Calls");
});