WCF身份验证用户Google/Facebook等

4

我希望构建一个SOA应用程序,主要包括核心WCF服务、ASP.NET Webforms前端和多个移动前端。

我想允许用户使用其Facebook/Google凭据登录,对于现在的ASP.NET Webforms应用程序来说这很简单。然而,我也希望移动应用程序使用相同的凭据进行身份验证。

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

经过数小时的搜索,我想知道是否有人可以指向一个教程,演示如何创建/配置WCF服务,以便与Facebook/Google基于声明的身份验证特别配合使用。

谢谢 David


很好的问题,但是在stackoverflow上询问教程推荐是不被允许的话题,因此你的问题可能会以目前的形式被关闭。 - tom redfern
好吧,我猜如果有人花时间准备一个例子,那就会受到赞赏 :D - DavidReid
值得花时间查看Web API的开箱即用模板,其中包含此身份验证以及与移动应用程序配合良好的Bootstrap主题。还可以查看此SO链接,其中包含WCF与WebAPI的比较。https://dev59.com/3Wox5IYBdhLWcg3wOxxi 当然,您将处于MVC世界中,但也可以使用Web表单。 - smoore4
2个回答

2
建议您考虑使用谷歌账户认证和授权,该服务采用OAuth 2.0标准。以下链接描述了如何使用谷歌API通过OAuth 2.0对Web服务器应用程序进行身份验证。
引用块中的内容解释了授权序列的流程,该流程始于您的应用程序将浏览器重定向到一个谷歌URL,该URL包含指示所请求访问类型的查询参数。与其他场景一样,谷歌处理用户身份验证、会话选择和用户同意。结果是一个授权代码,谷歌在查询字符串中返回给您的应用程序。

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

Google API支持常见的OAuth 2.0场景,例如用于Web服务器、安装和客户端应用程序的场景。
OAuth 2.0是一个相对简单的协议。首先,您需要从Google开发者控制台获取OAuth 2.0凭据。然后,您的客户端应用程序会向Google授权服务器请求访问令牌,从响应中提取令牌,并将令牌发送到您想要访问的Google API。

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

Google API Client Library for .NET及其完整示例可通过以下链接获得: https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth

1
你可以使用http://fbconnectauth.codeplex.com/轻松完成,这是一个针对ASP.NET的Facebook连接认证组件,允许ASP.NET网站开发人员使用Facebook Connect识别和验证访问其网站或Web服务的用户。它使用C#编写,面向.NET 2.0。但是这仅适用于Facebook集成。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接