标签: single-sign-on

WordPress 和 Django 之间的单点登录

我在 Apache Ubuntu 16.04 服务器上有两个 Web 应用程序:

  1. WordPress 4.8.1 网站
  2. Django 1.11 应用程序(带有 django-rest-framework)

我想要安装单点登录服务 (SSO)。例如,用户登录 WordPress,然后当他访问 Django 网站时,他已经连接了。实际上我没有找到任何关于 WordPress 和 Django 之间 SSO 的信息。您知道该怎么做吗?

django wordpress single-sign-on

5
推荐指数
2
解决办法
2890
查看次数

SSO:SP 是否应该在每个请求中验证与 IDP 的会话

根据 SP 发起的 SSO 流程,用户尝试访问 SP。由于用户未经身份验证,因此他会被重定向到 IDP,在其中输入凭据、成功登录后,IDP 在用户的浏览器中设置 cookie(在 IDP 的域下),并使用 SAML 响应将用户重定向回 SP。一旦 SP 验证了 SAML 响应,它就会创建自己的 cookie/令牌,并在 sp 域下的用户浏览器中设置。

后续请求中理想情况下应该发生什么:

  1. SP是否应该仅依靠自己的cookie来获取用户信息
  2. SP 是否应该在每个请求中使用 IDP 验证用户会话。

如果建议选项 1,从安全角度来看是否可以,因为登录后 SP 和 IDP 之间不会进行进一步请求的通信。

如果建议使用选项 2,则在每个请求中调用 IDP 都会产生开销,这可能会影响 SP 的性能。

请在这里提出理想的流程。

authentication saml single-sign-on okta

5
推荐指数
1
解决办法
2638
查看次数

Windows 域中的 NTLM SSO 如何工作?

我使用NodeSSPI在 TypeScript 中进行了单点登录的概念验证。这有效,我获得了登录我们公司 AD 域的用户名 - 无需输入任何帐户信息或凭据。但我想详细了解这是如何实现的,因为它可以在 IE 和 Chrome 中开箱即用。我发现这篇关于 NTLM 的 MSDN 文章说:

  1. 登录用户的用户名发送到服务器
  2. 服务器生成随机数质询并发送给客户端
  3. 客户端使用用户密码哈希对质询进行加密并将其发送回服务器
  4. 服务器向 DC 发送用户名、质询和质询响应
  5. DC将PW与数据库进行比较,如果匹配则对用户进行身份验证

我特别想知道第 1 步和第 2 步:这是在哪里发生的?例如,用户名如何传输到服务器?它是http请求的一部分吗?我查看了 Chrome 开发人员工具的请求,但看不到任何标头或其他信息,表明我的 AD 用户名已发送到服务器。

请注意:这些问题仅适用于用户未提供凭据的 SSO!因为当用户输入他的凭据时,这是很清楚的。

ntlm active-directory windows-authentication single-sign-on

5
推荐指数
1
解决办法
5981
查看次数

了解 AuthServerWhitelist 和 AuthNegotiateDelegateWhitelist chrome 策略寄存器?

AuthServerWhitelist这两个 chrome 策略寄存器和之间有什么区别AuthNegotiateDelegateWhitelist

当我试图自动登录内网时,当我发现这两个寄存器时,我开始怀疑。

首先我尝试了一下AuthServerWhitelist,但没有成功。

然后我设置了两者AuthServerWhitelist并且AuthNegotiateDelegateWhitelist它起作用了。

尽管我读到它们有两种不同的功能,但我现在看不出有什么区别。

Chromium 政策列表链接

预先非常感谢!

windows authentication google-chrome single-sign-on

5
推荐指数
1
解决办法
1万
查看次数

使用 Angular 和 Node 实现 SAML 2.0

我是 Angular + Node 项目中 SAML SSO 集成的初学者。我浏览了许多与之相关的链接和论坛。然而,无法弄清楚,从哪里开始???。

仍在尝试找到一种在我的应用程序中实现 SAML SSO 的方法。

下面是场景:

  • 我有一个 Angular 应用程序,在其中我通过 Active Directory 实现了登录。效果很好。
  • 现在,登录后,我将进入仪表板页面。
  • 在此仪表板页面上有一个应用程序的链接。
  • 单击此链接后,我必须使用 SAML 实现单点登录。
  • 成功完成 SSO。用户将移至该应用程序。

就是这个!!!

我已完成 Active Directory 登录并已进入仪表板。但现在,我不知道,该做什么,怎么做,从哪里开始???

被困在这里了!!!我们将非常感谢您的帮助。

saml single-sign-on node.js saml-2.0 angular

5
推荐指数
1
解决办法
1万
查看次数

设置基于 SAML 的 SSO 时为什么需要 IdP 证书指纹

不久前,我致力于在 Web 应用程序中设置 SSO 用户身份验证。特定的 IdP 是 ADFS 服务器,但我认为这不是很重要。

配置应用程序的 SSO 设置时,我注意到需要 IdP 证书的指纹,而不是证书本身。现在,据我了解,应用程序使用指纹来验证已颁发的 SAML 令牌上的 IdP 签名。

问题是应用程序如何仅使用证书指纹来验证签名?它不需要证书的公钥,它是证书本身的一部分,但不是它的指纹的一部分?这个签名验证过程如何进行?

saml single-sign-on

5
推荐指数
1
解决办法
4107
查看次数

Azure AD SSO:System.Threading.Tasks.TaskCanceledException:任务已取消

我们已将五个应用程序转换为通过 Azure SSO 进行身份验证。我们使用通过“使用 Azure Active Directory 进行身份验证”向导(在连接的服务窗格中)插入的默认代码来完成此操作。这些应用程序已发布并由我们的用户使用。从最终用户的角度来看,一切似乎都工作正常(没有人抱怨,并直接询问他们说这很棒,并且当我们测试时它对我们有用)

我们在 global.asax Application_error 中有日志记录代码,并且注意到我们每天都会记录多个与人们登录应用程序的时间相对应的错误。我想尝试弄清楚这是否正常,或者我们是否做错了什么,或者用户是否看到问题但没有报告/注意到。信息太少了,我被困住了。以下是我们日志中的错误代码。有任何想法吗?

   System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Microsoft.IdentityModel.Protocols.ConfigurationManager`1.<GetConfigurationAsync>d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Owin.Security.OpenIdConnect.OpenIdConnectAuthenticationHandler.<ApplyResponseChallengeAsync>d__c.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Owin.Security.Infrastructure.AuthenticationHandler.<ApplyResponseCoreAsync>d__b.MoveNext()
--- End of stack trace from previous location where exception …
Run Code Online (Sandbox Code Playgroud)

azure single-sign-on asp.net-mvc-5 c#-6.0 visual-studio-2017

5
推荐指数
0
解决办法
1155
查看次数

使用 Keycloak SSO 在 2 个应用程序之间保持身份验证

我有 2 个 JHipster 应用程序,每个应用程序都在一个子域(app1.domain.tld 和 app2.domain.tld)上运行。

在这两个应用程序中,用户都通过 Keycloak 登录。顺序如下:

  1. Angular 应用程序将带有凭据的 /authenticate 请求发送到 Keycloak
  2. 如果响应成功,则返回身份验证 cookie
  3. POST 请求被发送到生成 JSessionID cookie 的 Jhipster 后端应用程序
  4. 然后,JSessionID 用于对支持的应用程序的每个请求。

如果用户已经登录域(*.domain.tld)的应用程序之一,自动登录用户(无需询问用户名和密码)的最佳方式是什么?

在了解 JSessionID 仅适用于生成它的应用程序之前,我尝试使用 JSessionID 作为全局令牌...

也许捕获 Keycloak 身份验证 cookie(在步骤 2 中返回)并在第二个应用程序上进行身份验证就可以解决问题?

从我在测试时看到的情况来看,在第一个应用程序上进行身份验证后,当我转到第二个应用程序时,Angular 401 HTTP 拦截器会使用会话令牌重定向到 keycloak 登录页面。因此,那时 Keycloak 应该看到我已经登录,并且应该将我重定向到我的第二个应用程序的主页。

我对吗 ?

java spring-security single-sign-on jhipster keycloak

5
推荐指数
1
解决办法
9103
查看次数

如何利用前后端架构正确实现SSO

我想寻求建议或标准方法来实现基于前端/后端架构的 SSO 登录。

目前,我需要实施第 3 方 SSO 登录。流程如下:

  1. 用户在我的网站中点击“第三方登录”
  2. 路由到第 3 方界面以进行 SSO 登录。
  3. 登录完成后,重定向回我的网站

仅供参考,我的系统架构由前端(角度)和后端(rest api - 无状态)组成。基于以上案例,我可以想到两种集成方式:

方式一

  1. 用户在前端单击“第三方登录”
  2. 路由到第 3 方界面以进行 SSO 登录。
  3. 登录完成后,重定向回后台
  4. 验证请求并设置令牌,后端将重定向到我的前端

方式2

  1. 用户在前端单击“第三方登录”
  2. 路由到第 3 方界面以进行 SSO 登录。
  3. 登录完成后,重定向回前端
  4. 前端将调用后端来验证并获取结果/令牌
  5. 如果验证成功,前端将重定向到主页。

方式1和方式2的区别在于“重定向URL”。SSO 登录完成后,它应该始终路由到前端还是后端?

请就推荐/标准实施向我提供建议。

顺便说一句,我尝试在网上查看但没有看到任何合适的建议。如果您找到了,请分享给我。再次感谢并感谢您的帮助。

frontend backend single-sign-on

5
推荐指数
1
解决办法
3917
查看次数

HttpContext.Current.GetOwinContext().Authentication.Challenge() 不打开 adfs 页面

我有一个与 Angular JS 一起使用的单页 MVC 应用程序。Angular 从我的 asp mvc 应用程序调用 api,包括登录。我想向我的应用程序添加单点登录

在转移到本地登录页面之前,我的角度检查“GetUserRoles”功能..

我做错了什么,所以 UserAccountApiController 中的 HttpContext.Current.GetOwinContext().Authentication.Challenge() 行无法打开 adfs sso 页面???

用户帐户Api控制器

    [HttpPost]
    public bool IsLogedInRoled(NR role)
    {
        if (User.Identity.IsAuthenticated)
        {
            if (!string.IsNullOrEmpty(role.role))
            {
                var isLogedInRoled = GetUserRoles().Select(x => x.ToLower()).Contains(role.role);
                return isLogedInRoled;
            }
            return true;
        }
        HttpContext.Current.GetOwinContext().Authentication.Challenge(new AuthenticationProperties { RedirectUri = "~/" },
            WsFederationAuthenticationDefaults.AuthenticationType);

        return false;

    }
Run Code Online (Sandbox Code Playgroud)

启动.cs

public class CustomeStartup : UmbracoDefaultOwinStartup
{
    private static string realm = ConfigurationManager.AppSettings["ida:Wtrealm"];
    private static string adfsMetadata = ConfigurationManager.AppSettings["ida:ADFSMetadata"];
    private static string adfsWreply = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc adfs single-sign-on angularjs

5
推荐指数
1
解决办法
1万
查看次数