質問

今では、Facebook セッションまたは access_token を取得するたびに、有効期限が設定されている必要があり、ユーザー ID を取得する前に、ライブラリは MD5 などを実行してユーザー ID が本物であることを検証する必要があることをさらに思い出すことができました。 。

現在、session と access_token はどのように機能しますか?無限セッションはもうありますか?通常は 2 時間以内に期限切れになりますか?ユーザーがアプリまたは当社の Web サイト (Facebook に接続されている) を使用し続けると、セッションまたは access_token を更新できる、つまり有効期限がさらに延長されるというのは本当ですか。

DB の users テーブルに session または access_token を保存する用途はありますか?無限セッションがない場合は、バッチ処理が 1 時間以内に何かを実行することがわかっている場合 (たとえば、長時間にわたる Facebook API 呼び出しを実行する場合など) を除き、おそらくその必要はないと思います。

電子メールの送信許可をリクエストし、ユーザーがそれを許可した場合、数日後にニュースレターを送信するときに電子メールを送信するためのセッションまたは access_token が必要になるのではないでしょうか?

役に立ちましたか?

解決

それでは、ご質問に一つずつお答えさせていただきます。

  1. 通常の Facebook セッション (access_token) は数時間のみ有効です。
  2. アプリの認証時にユーザーに「offline_access」拡張権限を要求することで、無限セッションを取得できます。
  3. セッションを「更新」するには、ユーザーを Facebook の認証ページに送り返すだけです。これは、ユーザーがすでにアプリを認証しているため、即座に発生し、ユーザーは認証に気付かずにサイトにリダイレクトされて続行されます。
  4. offline_access がない限り、アクセス トークンを保存する理由はありません。オフライン アクセスがある場合は保存できますが、そうでない場合は、新しいリクエストを行うたびに Cookie またはセッションから読み取ることもできます。
  5. 電子メールの拡張許可は、「電子メールを送信する許可」ではなく、電子メール アドレスを読み取る許可です。この権限が付与されている場合は、Graph API からユーザーの電子メール アドレスを取得し、この電子メール アドレスを保存できます。電子メール アドレスを取得したら、通常の電子メール システムと同様に電子メールを送信できます。そのためのアクセス トークンは必要ありません。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top