此问题与 ServiceStack OAuth 身份验证流程有关。调试 FacebookAuthProvider 我看到如果代码参数不为空(从重定向到 Facebook 对话框 url 获得),它使用它来获取访问令牌。AuthProvider 对 OAuthAuthorizer 执行相同的操作。
如何使用 Javascript SDK 获取单页应用程序的访问令牌(在弹出窗口中使用模式,没有重定向)。是否有任何端点可以通过颁发的访问令牌对用户进行身份验证?
另外,您认为这是一个安全漏洞吗?我相信,如果用户首先使用 Credentials Provider 签名,然后使用 OAuth Provider 签名,ServiceStack 会创建两个独立的帐户。如果服务器使用 Facebook API 验证访问令牌并返回有效响应,我认为应该可以在应用程序中签署已经存在的用户(我想寻找任何 AuthUserDetails 提供者等于facebook应该足以信任)。