Jim*_*ell 5 c# oauth-2.0 asp.net-identity identityserver4
如果您参考https://docs.microsoft.com/zh-cn/aspnet/core/migration/1x-to-2x/identity-2x?view=aspnetcore-2.2,则可以看到可以配置OpenID Connect(OIDC)各种提供商的身份验证如下:
脸书
services.AddAuthentication()
.AddFacebook(options =>
{
options.AppId = Configuration["auth:facebook:appid"];
options.AppSecret = Configuration["auth:facebook:appsecret"];
});
Run Code Online (Sandbox Code Playgroud)
谷歌
services.AddAuthentication()
.AddGoogle(options =>
{
options.ClientId = Configuration["auth:google:clientid"];
options.ClientSecret = Configuration["auth:google:clientsecret"];
});
Run Code Online (Sandbox Code Playgroud)
微软
services.AddAuthentication()
.AddMicrosoftAccount(options =>
{
options.ClientId = Configuration["auth:microsoft:clientid"];
options.ClientSecret = Configuration["auth:microsoft:clientsecret"];
});
Run Code Online (Sandbox Code Playgroud)
我的问题是,是否有人需要提供支持Amazon和Evernote OIDC的设置?
小智 3
不幸的是,Login with Amazon 和 Evernote 都不支持 Open ID Connect。其他提到的服务也可以,这可以通过访问每个服务的适当配置站点来验证:Google、Microsoft。
还有其他一些未在 .Net 中预配置但可以与它一起使用的 ofc: Salesforce
您可能注意到,Open ID Connect 的配置通常存储在带有“/.well-known/openid-configuration”后缀的站点上。这称为 OpenID Connect 元数据文档,它包含应用程序登录所需的大部分信息。这包括要使用的 URL 和服务公共签名密钥的位置等信息。
现在让我们为自定义 Open ID Connect 提供商进行 .Net 配置(我将使用 Salesforce,因为它支持 Open ID):
services.AddAuthentication()
.AddFacebook(options =>
{
options.AppId = Configuration["auth:facebook:appid"];
options.AppSecret = Configuration["auth:facebook:appsecret"];
})
.AddOpenIdConnect("OpenIdConnectSalesforce", "Salesforce", options =>
{
options.Authority = "https://login.salesforce.com";
options.ClientId = Configuration["auth:salesforce:appid"];
options.ClientSecret = Configuration["auth:salesforce:appsecret"];
options.ResponseType = "code";
});
Run Code Online (Sandbox Code Playgroud)
启动 Web 应用程序后,我们可以看到使用 Salesforce 登录的附加按钮:

对于Evernote和Amazon,您可以分别使用他们的SDK和API来实现他们的登录方法。我确实相信他们支持 OAuth。
| 归档时间: |
|
| 查看次数: |
368 次 |
| 最近记录: |