使用Facebook令牌进行Stormpath身份验证以获取Facebook ID?

时间:2015-12-18 13:04:37

标签: stormpath

我们没有在Stormpath中存储任何用户凭据,只有我们需要Stormpath为我们验证用户身份。

这是我的场景:我在Stormpath创建了一个Facebook目录,用户通过Facebook注册并在目录中创建了一个帐户。下次同一用户通过Facebook登录时,我们会检索该帐户并查看该帐户是否为现有(非新)帐户。

我的问题是:只有了解用户帐户(新用户帐户或现有用户帐户)才是验证用户身份的有效流程?当Stormpath第二次验证用户时,Stormpath有没有办法返回用户的Facebook ID?

对我来说主要关注的是:

每次通过Facebook登录时,有哪些有效或安全的方式对用户进行身份验证?

1 个答案:

答案 0 :(得分:2)

如果我正确理解您的问题,在使用Facebook登录过程中,您希望获得用户的Facebook ID。 Stormpath只返回Facebook Access Token,但您可以使用它来轻松获取Facebook ID。

当您使用Facebook登录Stormpath时,会向Stormpath API发出请求。所做的请求如下所示:

{
    "providerData": {
      "providerId": "facebook",
      "accessToken": "USER_ACCESS_TOKEN_FROM_FACEBOOK"
    }
}

如果您正在使用SDK,则在登录后,将自动向帐户端点发布请求。如果您仅使用REST API,则必须手动向帐户端点发送请求。

请求完成后如果一切正常,您将获得一个Stormpath帐户对象。当你得到这个时,你将能够从包含Facebook访问令牌的对象中获得providerData。可以在documentation中找到对此的参考。

从提供者数据获得访问令牌后,您可以使用Facebook API访问应用程序允许的任何范围。

免责声明:我是Stormpath的雇员。