我在我的网站上进行oAuth登录。当我在做facebook时,我发现我可以动态地给出回复网址。但是当我在谷歌时,我发现我传给google的返回网址必须与我在google上设置的设置相匹配。
为什么两个oauth提供商都有所不同,其他誓言提供商呢?
实现动态返回网址的最佳方法是什么?
谢谢, 罗恩
答案 0 :(得分:1)
假设您在OAuth 2.0中引用了重定向uri
来自RFC 6749(OAuth 2.0授权框架):
授权服务器必须要求以下客户端注册其重定向端点:
- 公共客户。
- 使用隐式授权类型的机密客户端。
授权服务器应该在使用授权端点之前要求所有客户端注册其重定向端点。
"重定向端点"是重定向uri。
任何使用授权代码流与客户端ID和客户端密钥一起使用的客户端都可以允许用户指定重定向uri。这是因为传递给重定向uri的授权代码是无用的,除非您还有客户机密码。
如果客户端无法保密并使用隐式访问令牌流,例如一个仅限javascript的Web应用程序,必须注册重定向uri以确保访问令牌不会落入坏人之手。
即使使用授权代码流作为额外的安全措施,OAuth提供商也可以选择要求重定向uri进行注册。
至于实施动态重定向uri,这取决于您在网站上用于oauth的库。