标签: single-sign-on

SAML 2.0 身份验证请求的目的/用途是什么?

我已经浏览了类似的问题并阅读了几篇有关 SAML 2.0 的文章,但我仍然无法理解 SAML Auth Request。

我已经实施了多个基于 SAML 的 SSO 解决方案,其中我的公司是 IdP(身份提供商)。我们一直通过 SAML 响应将用户从我们的网站发送给第三方:

  1. 用户登录我们的网站。
  2. 用户单击我们网站上的特殊链接。
  3. 我们准备 SAML 响应 XML。
  4. 我们用我们的私钥对其进行电子签名。
  5. 将其作为 HTML 表单中的隐藏字段以及“RelayState”参数发送回用户的浏览器。
  6. 我们会自动将此表单发布到 SP(服务提供商)URL。

就是这样。

SAML 2.0 文章(例如,维基百科关于 SAML 2.0 的概述文章)表明我们缺少一个步骤:“SAML Auth Request”。看来 SP 需要通过首先向 IdP(我们)发送“SAML 身份验证请求”来启动 SSO,然后我们应该使用 SAML 响应来响应它。

SP 如何决定何时发起 SSO?SP 甚至不知道我们将按照他们的方式发送用户。用户当前已登录我们的网站,由用户决定何时单击该链接,这将“神奇地”在 SP 网站中对他们进行身份验证。

谢谢你!

PS 我知道 SAML 2.0 是“既定的行业标准”,但我使用它的次数越多,我就越觉得它有点矫枉过正。由于其复杂性,存在大量不同的不兼容的实现(根据我的经验)。每次我们与新合作伙伴进行 SSO 时,这都是一种痛苦。大公司通过销售“开箱即用”的 SAML 解决方案赚了一大笔钱,但没有人知道如何正确配置和排除故障,因此人们几乎被迫支付昂贵的承包商费用来完成所有设置。公司希望能够雇用低工资员工来支持那些过于复杂的 SAML 解决方案。当与第三方设置 SSO 时,我经常与那些不知道它是什么的人打交道,他们只是接受过单击按钮并通过电话向我阅读神秘错误消息的培训。这都是由于 SAML 被过度设计造成的。但是,嘿 - 有一个光明的一面:我得到了很好的报酬,因为我对 SAML 足够了解,至少可以让它发挥作用。:)

single-sign-on opensaml saml-2.0

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

如何请求 IDP 在 AuthnResponse 中向我发送其他自定义属性?

我已经使用 spring SAML 实现了 SSO,我想知道是否有任何方法可以请求 IDP(在我的例子中为ssocircle.com)向我发送其他属性以及它已经发送的 nameID。假设我希望 IdP 向我发送已成功通过身份验证的人员的 accountID。我进行了很多搜索并找到了一些建议,例如:

重写WebSSOProfileImpl .java 中的getAuthnRequest方法,以便发送到 IdP 的 authnRequest 具有此属性集。但我不知道如何继续下去?我是否也必须使用此附加属性名称和格式修改我的 SP 元数据?如果是,我该怎么做?或者可以使用 RelayState 参数来完成某些操作吗?在这方面的任何帮助将不胜感激。

谢谢,

阿比拉什

spring-security saml single-sign-on saml-2.0 spring-saml

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

对 Angular 6 单页应用程序实施 Azure AD 单点登录

我想知道是否可以在 SPA 上实施 Azure AD SSO,是否有人知道这方面的任何好的(逐步?)指南?

我需要的主要是后端代码实现,但我完整的分步指南将是完美的。

我知道微软在这个页面上有一些例子,但我不确定它们是否与 angular 6 兼容:

Azure Active Directory 代码示例(v1.0 端点)

所以有什么好的建议吗?

single-sign-on azure-active-directory angular6

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

在 MS Azure AD 中,我尝试配置 SSO,但 SSO 选项未显示在所选企业应用程序下

我正在将 Azure Active Directory 配置为 Salesforce 的 SSO 身份验证提供程序。我已经在 Azure 中注册了该应用程序。当我尝试在 Azure 中为注册的应用程序配置 SSO 时,但在应用程序的管理下看不到单点登录选项。请帮忙。

salesforce azure single-sign-on sfdc

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

在 Cypress.io 中访问网络响应

我正在使用代码和隐式流测试 OpenID Connect 服务。我真的希望能够访问我从服务返回的消息,尤其是具有 ID 令牌的 303 See Other 消息。

如果有人可以就如何获取回复消息提供建议,我将不胜感激。由于服务公开了一个 HTML 登录页面,所以发生的是 cy.get("#loginButton").click() 所以我不发送 cy.request() 这是因为我想使用前端测试登录 -结尾。

oauth single-sign-on cypress

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

多个重定向 url 在 slack sso 中不起作用

我们在 Slack 应用程序的 oauth 和权限部分配置了两个重定向 url(不同的域和有效的 https url)。当我们尝试 sso 时,它对于第一个重定向 url 工作正常,当对第二个重定向 url 执行 sso 时,我们得到 {"ok":false,"error":"bad_redirect_uri"}。请帮助我们解决问题

single-sign-on slack-api slack

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

奥里·九头蛇和奥里·奎托斯之间的困惑,因为他们创造了成熟的国内流离失所者

我有一个项目想要构建一个成熟的 IDP(使用 Golang)。因此从技术上讲,用户希望使用我的服务单点登录到另一个系统。我希望从头开始构建这项服务。在研究开源 IDP 解决方案时,我遇到了 ory/Hydra 和 ory/Kratos。我浏览了他们的文档并做了一个快速入门教程。我仍然很困惑以上2个库中哪个适合开发这个服务。

从高层次的角度来看,这就是我正在努力做的事情。

  1. 有一个现有的第三方网络应用程序X。
  2. 用户已经拥有我的服务 Y 的登录凭据。
  3. 用户想要在应用程序 X 中发布一些评论。
  4. 如果未登录,他/她将被重定向到我的服务 Y 登录屏幕。
  5. 登录后,回调 URL 将他返回到应用程序 X 评论部分。

go single-sign-on idp

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

Yii和Magento在同一台服务器上进行单点登录

我有两个使用yiiMagento开发的独立php网站,我们使用一些API保持用户数据同步,以维护这两个网站的相同用户名和密码.

我们如何开发功能,在用户可以登录到任何一个应用程序并自动在另一个应用程序中加载,如谷歌服务,如果我们登录到Gmail,它显示登录到谷歌+和其他谷歌服务.

我读到了单点登录,但知道它是如何工作的.请指导我们如何在同一台服务器上构建单一标志.

php magento single-sign-on

0
推荐指数
1
解决办法
5484
查看次数

Android Facebook单一登录错误

我试图在我的Android应用程序中实现Facebook SSO。它将打开本机Facebook应用程序,登录过程完成后显示“ 500:内部服务器错误”。我在做什么错?

任何建议将不胜感激。这是我的代码

public class FacebookUtil {

    public static Facebook facebook = new Facebook(AppConstants.FACEBOOK_APP_ID);
    String FILENAME = "AndroidSSO_data";
    private static SharedPreferences mPrefs;
    private static Context mContext;
    private static  boolean isSucess;
    private static FacebookSucessListener mFacebookSucessListener;
     public static final String FB_APP_SIGNATURE ="xxxxxxxxxxxxxxxxxxx"; 
    public interface FacebookSucessListener {
        public void onSucess(boolean isSucess);
    }
    public static void postToWall(){
        facebook.dialog(mContext, "feed" , new DialogListener(){
            public void onCancel() {

            }
            public void onComplete(Bundle arg0) {

            }

            public void onError(DialogError arg0) {

            }

            public void onFacebookError(FacebookError arg0) …
Run Code Online (Sandbox Code Playgroud)

android single-sign-on facebook-graph-api android-facebook

0
推荐指数
1
解决办法
5817
查看次数

未经GET_ACCOUNTS许可,从Google Plus身份验证中获取用户电子邮件

在用户使用G +帐户进行身份验证后,是否可以检索用户的电子邮件地址(使用G + Android SDK)?我知道你可以这样做,如果你要求获得GET_ACCOUNTS许可,但我不需要G +登录......

android single-sign-on google-plus

0
推荐指数
1
解决办法
1387
查看次数