3

在过去的 5 天里,我一直在阅读DotNetOpenAuth,但由于某种原因,它对我来说并不容易......

我在活动目录中有一组本地用户。当用户访问内部站点时,我的门户网站应用程序已经对用户进行了身份验证。我现在想添加 OpenID 支持,以允许用户单击其门户页面上的链接以重定向并将其登录到支持 OpenID 的远程站点,例如 Google Apps。

在我的阅读中,似乎有两种方法可以完成这项任务。一种是设置本地 OpenID 提供程序。我还需要创建哪些其他部分才能使其正常工作?我需要创建中继合作伙伴吗?

另一种可能的方法(我认为)是对谷歌应用程序进行身份验证并让谷歌成为 OpenID 提供者。由于我的门户应用程序已经创建了谷歌应用程序帐户,如果它是一个选项,这将起作用......

无论哪种方式,我需要为这些选项创建哪些组件?另外,如果我创建了一个OpenID提供商,我是否需要将服务器暴露在互联网上才能完成交易?

4

3 回答 3

0

ASP.NET MVC 很好地支持了这个功能,你可以按照这个示例来构建你自己的

于 2013-04-02T04:22:47.150 回答
0

您可能想考虑直接使用 OpenID 的 Google 客户端库。一旦一切正常,您就可以访问 Google 提供的任何服务,并且可以使用客户端库来访问它们,而无需编写大量代码并维护自己的库。

Google+ 快速入门示例涵盖了使用 OAuth v2 和 Google API 的最佳实践,应该可以帮助您快速入门。从这里开始:

https://developers.google.com/+/quickstart/csharp

那里的代码将使您使用 OAuth 和配置的 API 客户端。如果您想添加对其他 API 客户端 (Google Apps) 的支持,那么您将包含该 API 客户端并像示例中一样访问它。

于 2013-04-10T16:15:40.380 回答
0

我想您要问的是您能否使用 openid 让您的站点将用户登录到远程站点?

如果远程站点支持联合,则可以。有很多方法可以实现这一点,它们通常需要您和远程站点之间的合作。

既然您说远程站点支持 OpenId,您所需要做的就是将用户发送到那里。然后,他们使用其 Google Apps id 使用 OpenId 登录。你不需要做任何事情。

于 2013-04-09T08:46:24.380 回答