WCF认证用户谷歌/脸书等



我希望构建一个SOA应用程序,它基本上由核心WCF服务组成。一个 ASP.NET 网络表单前端。而且,可能有多个移动前端。

我想允许我的用户使用他们的Facebook/Google凭据登录,这对于当今 ASP.NET Webforms应用程序来说非常简单。但是,我还希望移动应用程序使用相同的凭据进行身份验证。

为了实现这一点,我希望对 WCF 服务的每次调用都必须使用类似的基于声明的身份验证方法。

搜索了几个小时后,我想知道是否有人可以向我指出一个教程,该教程演示了创建/配置 WCF 服务以专门与基于 Facebook/Google 声明的身份验证一起使用。

谢谢大卫

建议你考虑使用 OAuth 2.0 标准的 Google Accounts Authentication and Authorization。 以下链接介绍如何使用 Google API 通过 OAuth 2.0 对 Web 服务器应用程序进行身份验证。

授权序列在应用程序重定向 浏览器到谷歌网址;URL 包含的查询参数 指示所请求的访问类型。与其他场景一样, Google 处理用户身份验证、会话选择和用户 同意。结果是一个授权代码,谷歌返回到 查询字符串中的应用程序。

https://developers.google.com/accounts/docs/OAuth2WebServer

Google API 支持常见的 OAuth 2.0 方案,例如适用于 Web 服务器、已安装和客户端应用的方案。

OAuth 2.0是一个相对简单的协议。首先,您获得 OAuth 来自 Google 开发者控制台的 2.0 凭据。然后,您的客户端应用会向 Google 授权请求访问令牌 服务器,从响应中提取令牌,并将令牌发送到 您要访问的谷歌 API。

https://developers.google.com/accounts/docs/OAuth2

适用于 .NET 的 Google API 客户端库以及完整示例可通过以下链接获得:https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth

您可以使用

http://fbconnectauth.codeplex.com/非常轻松地做到这一点

Facebook Connect 身份验证 ASP.NET 是一个组件,允许 ASP.NET Web 开发人员识别和验证使用 Facebook Connect 访问其网站或 Web 服务的用户。

它是用 C# 编写的,面向 .NET 2.0。

但这仅适用于Facebook集成。