看看谷歌OpenId连接和Facebook登录我注意到Facebook总是从浏览器点击“重定向URI”。解释一下 - 当用户跟随表格的链接
时https://www.facebook.com/dialog/oauth?client_id={app-id}&redirect_uri={redirect-uri}
他/她总是被重定向到{redirect-uri}指定的网址。然后,该URL包含可以交换访问令牌的“代码”。
谷歌有类似的方法,但在使用“服务器流”时,{redirect-uri}被谷歌的服务器“击中”。这样,需要交换访问令牌的代码永远不会显示给用户。看起来FB的方法不太安全,因为访问代码实际上最终会落入攻击者的手中。
答案 0 :(得分:3)
您应该从服务器获取代码,然后将其与您的应用秘密一起使用,以在Facebook上交换访问令牌。如果客户端可以看到这个并不重要,因为没有app秘密,该代码是无用的。应用程序机密保留在您的服务器上,永远不会透露给客户端。