太多的间接层,这让我很困惑。
在正常的 OAuth 中,最后一站通常需要使用稍后将通过公钥解密的授权令牌发回依赖方(又名服务器)。
到目前为止,我看到的唯一示例是:
String FacebookURL = "https://www.facebook.com/dialog/oauth?client_id=" + FacebookClientID.Text + "&redirect_uri=" + Uri.EscapeUriString(FacebookCallbackUrl.Text) + "&scope=read_stream&display=popup&response_type=token";
但是,经纪人似乎能够确定用户是否合法而无需访问您自己的服务器。如以下行所示:
if (WebAuthenticationResult.ResponseStatus == WebAuthenticationStatus.Success)
那怎么安全?
- 服务器不应该进行解密吗?
- 就此而言,您的服务器不应该启动连接吗?通过这种方式,它可以向 salt 发送一些随机位,以便 facebook 可以保护返回令牌?
那么重定向 URI 是否完全任意,代理本质上是解析来自 IP(身份提供者)的响应。
是否有一些第三方服务器参与该过程,例如。MS自己的服务器使这成为可能,我不知道?
如果重定向 URI 应该是指向我自己的服务的 URI,那么我该如何处理和响应请求呢?