如何使用facebook中使用的访问令牌概念。
1)我们可以在基于ASP.NET的Web应用程序中实现相同的概念吗?
2)我们是否可以使用此概念为webservice ASMX 和 WCF 中的访问添加安全性?
答案 0 :(得分:1)
经过很长一段时间,我找到了我发布的答案
如果我错了,请查看我的答案
1)在用户成功通过身份验证时进行Facebook服务器流认证 Facebook生成授权代码参数名称为 代码。
2)第二步,使用客户端 _ 秘密,客户端 _ id,使用所有此参数授权码 ,重定向 _ uri ,州调用Webrequest或调用服务,如果成功则响应有两个参数 accessToken ,在中过期 _
3)此 accessToken 用于获取userinfo,如firstname,lastname,birthday等,具有指定的范围。
这是与WCF和ASMX Web服务一起使用的一般方案,通过将有效的accessToken存储到安全位置或进一步使用。
答案 1 :(得分:0)
1)访问令牌只是来自某些参数的哈希,例如:
MD5(userName, userMail, someSalt, someOtherStuff)
所以你可以按照自己喜欢的方式实现它。但如果它包含一些只能由当前用户重新获得的secret
信息,则会更好。
2)是的,你可以。像facebook这样的社交网络就是这样做的:
在服务器端(服务运行的地方)有一些应用程序密钥,以及可以从facebook api检索某些应用程序和用户的一些签名以及其他一些信息。
你的Facebook应用程序获得该签名,它可以使用它与其他参数(如userLogin,应用程序分数或其他等)制作hashsum。将其发送到服务器。
在服务器端,您可以根据参数生成与appliaction相同的签名方式。如果签名相同,请求有效。如果知道 - 有人试图做脏事:)