首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IdM和SAML的设计

IdM和SAML的设计
EN

Stack Overflow用户
提问于 2014-06-02 12:33:08
回答 1查看 592关注 0票数 2

公司A已经收购了B公司,现在A&B公司用户必须通过联邦认证。例如,认为A公司是微软,B公司是Skype。微软(LiveMessenger)和Skype都有用户注册IM。现在微软必须为所有客户提供统一的体验。我们如何使用联邦来解决这个问题?可以有:

1)仅限Skype用户;2)仅直播用户;3)直播用户和Skype用户

最后,客户只需登录一次,他们就可以登录Skype或。我们不应该再问登录。

现在,Live Service和Skype服务是依赖方。Skype和Live希望应用程序特定的令牌用于基于REST的通信。

作为微软的一名开发人员,我知道我需要创建一个IdM。我是否需要将所有现有用户从Live和Skype迁移到IdM?或者IdM应该在后台调用Live和Skype的用户管理服务?

据我所知,我们需要将SAML令牌交换为特定于应用程序的令牌,具体应该如何进行呢?我是否需要在Skype和Live服务中公开服务端点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-02 20:44:41

这个问题有两个方面:

身份和权利管理

第一种是身份和权限管理,它涉及哪些用户存在、如何进行身份验证以及可以访问哪些用户。有两种方法可以处理你的情况:

  • 在第一种方法中,您希望为您的用户提供一个单一的企业范围的身份(想想一个谷歌帐户,它可以访问各种谷歌服务)。这提供了最好的用户体验,但需要迁移用户、新的注册流程、. 您将引入一种新的集中式身份验证服务(身份提供者,IDP),其中每个用户都有一个帐户,使其能够使用单个登录访问A公司(用户有权访问)的服务。 然后,将现有用户从Skype迁移到IDP (即当前Skype帐户现在将直接允许您在IDP上进行身份验证)。您将启用一个注册过程,允许用户首先使用他们(现在是遗留的) Live凭据进行身份验证,从而在IDP上建立一个新帐户。当然,您可以选择不同的“默认”帐户,尝试将两者合并在一起,或者要求每个用户重新注册。
  • 在另一种方法中,您只希望启用单个登录(=用户将能够使用单一身份验证访问应用程序),但希望保持帐户和注册过程的完整性。 同样,您将希望创建一个身份提供者,但这一次您将允许用户选择使用他们现有的Skype或Live帐户进行身份验证。选择之后,可以使用所选服务验证凭据(例如,使用应用程序的API或任何其他可用的方式)。用户仍然像以前一样直接在Skype/Live服务中注册。

标识联合

此问题的另一面称为身份联合,其核心是处理将应用程序(中继方或服务提供者--相同概念的不同术语)连接到IDP服务的问题;换句话说,将身份验证外部化。

这里开始讨论不同的联合协议,如SAML、SAML2.0、OpenID、(部分) OAuth 2.0、WS-联邦、自定义协议、.它们都是做同一件事的略有不同的方式--在两个系统之间安全地传输关于用户身份验证的信息。

您应该选择这些协议之一,并使应用程序能够支持它(直接修改应用程序,或者使用代理将所有访问路由到应用程序,并且能够支持所选协议--例如IIS或Apache插件)。这通常会在应用程序中公开一组端点,这些端点能够接受从IDP发送的消息(例如,SAML消息)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23994676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档