2

ユーザー資格情報を Stormpath に保存することはありません。ユーザーを認証するために Stormpath が必要なだけです。

私のシナリオは次のとおりです。Stormpath に Facebook ディレクトリを作成し、ユーザーが Facebook を通じてサインアップし、ディレクトリにアカウントを作成しました。次に同じユーザーが Facebook 経由でログインすると、アカウントが取得され、それが既存の (新規ではない) アカウントであることがわかります。

私の質問は: ユーザー アカウント (新規または既存のアカウント) を知ることだけが、ユーザーを認証するための有効なプロセスですか? Stormpath がユーザーを 2 回目に認証するときに、Stormpath がユーザーの Facebook ID を返す方法はありますか?

私にとっての主な懸念事項は次のとおりです。

Facebook経由でログインするたびにユーザーを認証する有効または安全な方法は何ですか?

4

1 に答える 1

2

あなたの質問を正しく理解していれば、Facebook を使用したログイン プロセス中に、ユーザーの Facebook ID を取得する必要があります。Stormpath は Facebook アクセス トークンのみを返しますが、これを使用して Facebook ID を簡単に取得できます。

Facebook で Stormpath にログインすると、Stormpath API に対して投稿要求が行われます。行われるリクエストは次のようになります。

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

SDK を使用している場合、ログイン後、アカウント エンドポイントへのポスト リクエストが自動的に行われます。REST API のみを使用している場合は、手動でアカウント エンドポイントにリクエストを投稿する必要があります。

リクエストが完了し、すべてが機能していれば、Stormpath アカウント オブジェクトが提供されます。providerDataこれを取得すると、オブジェクトから Facebook アクセス トークンを含むを取得できます。これに関するリファレンスは、ドキュメントにあります。

プロバイダー データからアクセス トークンを取得したら、Facebook API を使用して、アプリケーションで許可されている任意のスコープにアクセスできます。

免責事項: 私はストームパスの従業員です。

于 2015-12-18T17:39:52.823 に答える