0

我正在开发 2 个 Web 应用程序,一个是在 WordPress 上开发的,另一个是在 Asp.net MVC 上开发的。我们允许 FB、Google ID 从这两个应用程序登录。

该站点是在 WordPress 中开发的,用户可以使用 FB Id 登录该站点,并通过单击链接将我的 asp.net mvc 站点加载到 WordPress 站点上的 iframe 中。

由于用户已经在 WordPress 站点登录,我希望使用从 Wordpress 站点传递到 asp.net 站点的一些令牌来完成用户身份验证和授权。目前我正在传递加密的 url,并且正在传递一些信息。我不确定,这是一种标准/推荐方式。

我认为有一些标准可以解决这个问题。我想知道。

4

2 回答 2

1

WP 用户在技术上并未通过 WP 进行身份验证,而是通过 FB 或 Google。您需要做的就是让您的 ASP.NET MVC 应用程序接受 FB 或 Google 身份,并且 SSO 将“正常工作”。您不需要将任何东西从 WP 传递到 ASP.NET。

FB 和 Google 的操作略有不同,但都支持 OAuth(和 OpenId)。在 .NET 应用程序中,您可以使用的一个库是 DotNetOpenAuth(已经随 MVC4 提供)。或者,您可以依靠第 3 方服务来处理对 Google/FB 的身份验证(以及可能的其他服务:twitter、linkedin 等)。这个第 3 方服务在技术上被称为“Federation Provider”(FP),本质上是您的应用程序和其他身份系统之间的代理:

WP   -+          +-> FB
      |          |     
.NET -+ --> FP --+-> Google 
...   |          |

app3 -+          +-> Others

此模型的优点是您可以稍后更改身份提供者而不会影响您的应用程序,并且您可以添加应用程序而无需在所有身份提供者中注册它们。

其中一项服务是 Windows Azure Active Directory,它可以与 FB 和 Google 一起使用。另一个是Auth0。(完全披露:这是我工作的地方)。

于 2013-04-03T17:19:46.677 回答
0

SAML(安全断言标记语言)是一种广泛采用的技术,可在两个不同的域/网站之间实现单点登录。更多信息请访问http://en.wikipedia.org/wiki/Security_Assertion_Markup_Language。社交网站流行的另一种技术是 OAUth。更多信息请访问http://en.wikipedia.org/wiki/Oauth。FB 开发者页面也有关于 OAUth 的优秀信息

于 2013-04-02T15:18:03.737 回答