使用Identityserver4的SSO

时间:2018-09-25 16:55:57

标签: c# asp.net-core .net-core single-sign-on identityserver4

我必须使用identitiserver4(OAuth服务器)实现SSO。 我非常了解身份验证标准,因此在开始使用身份验证标准之前,我在互联网上进行了一些研究,发现SSO基本上是一种社交登录,其中提供者不是社交网络。

我了解到Identityserver4实现了使用SSO的 oidc

Startup.cs 文件中,我添加了以下内容:

services.AddAuthentication(options =>
                {
                    options.DefaultScheme = "Cookies";
                })
                .AddOpenIdConnect("oidc", options =>
                {
                    //options.SignInScheme = "Cookies";
                    options.Authority = "<url-sso-server>";
                    options.ClientId = "<client-id>";
                    options.SaveTokens = true;
                });

此设置足够吗?每当我必须添加新的SSO提供程序时,我只需要询问他们的 url clientId ?当然,他们将必须将我的重定向网址 / signin-oidc

列入白名单

除此之外,我在拦截重定向回调时遇到麻烦,我无法读取任何提供程序信息:

var info = await _signInManager.GetExternalLoginInfoAsync();
if (info == null)
{
    return RedirectToAction(nameof(Login));
}

这总是提供一个空信息。 有什么建议吗?

0 个答案:

没有答案