Facebook の機能をサイトに統合するには、次の手順に従う必要があります。
- 「Facebook経由でログイン」オプションを提供する
- ユーザーが Facebook のログイン ボタンをクリックすると、ユーザーがまだログインしていない場合は、Facebook にログインするよう求められます。ユーザーが既にログインしている場合は、情報にアクセスする権限を付与するように求めるポップアップが表示されます。
- ユーザーが許可を与えるか、ユーザーが既にアプリを承認している場合、ユーザーはすぐに oauth タグの redirecturi 属性で指定したリダイレクト URL にリダイレクトされ、oauth タグの result 属性で言及されている変数のログイン情報が表示されます。結果属性は構造体になります。
(あなたは今までこれを達成してきました。辛抱強く待ってくれてありがとう。)
それでは、質問に答えてください。
- 他のページの同じセッションでアクセスできるように、この結果変数をセッション スコープに保持する必要があります。これを使用して行うことができます
<cfset Session.fbinfo = #res#>
- この後、cflocation タグを使用して、ユーザーを目的のページにリダイレクトします。
<cflocation url = "desired page">
- すべてのページで、ユーザーのログイン情報がセッション スコープ内にあるかどうかを確認します。セッションにログイン情報がない場合は、ログイン ページにリダイレクトします。
<cfif (not isdefined('Session.fbinfo'))>
<cflocation url = "login page">
</cfif>
セッションにログイン情報がある場合、ユーザーは自由にサイトにアクセスできます。
- ユーザーがログアウトしたら、セッションに存在するアクセス トークンを無効にする必要があります。を使用してそれを行うことができます
InvalidateOauthAccesstoken("access token", "facebook")
- セッションからユーザー情報をクリアします。
<cfset StructClear(Session)>