2012-03-19 5 views
1

ma webアプリケーションはoffline_accessを使用します。私が5月の初めに廃止される予定なので、私はaccess_tokenの有効性をどのように管理するのか不思議です。 ドキュメントhttps://developers.facebook.com/roadmap/offline-access-removal/では、(サーバー側のOAuth呼び出しからaccess_tokenを生成した場合、結果として得られるaccess_tokenの有効期限は長くなります)! これは「有効期限が長い」とは何ですか?私のトークンがもう有効ではないことをどのように知っていますか?facebook offline_access

どれでもお手伝いできますか? Thanx!あなたがあなたの質問ににリンクされたページ、長い有効期限から

答えて

3

は60日です:

access_tokenはを取得するには、単にあなた自身のclient_id(あなたAPP_ID)、 あなたapp_secret、およびクライアントを渡します下側のエンドポイント にアクセスしてください。返されたaccess_tokenは、の60日間で期限切れに設定されます。 有効なaccess_tokenを更新したい場合は、最初に 新しいクライアント側のアクセストークンを取得し、次に同じ エンドポイントを呼び出す必要があります。新しく拡張された 有効期限を持つ返されたaccess_tokenは、以前に付与された 拡張access_tokenと同じでも異なっていてもかまいません。

およびhere is how to handle expired access tokens

+0

ユーザーに再度ログインするように要求する有効期限を処理する方法を知る必要がありますか?たとえば、私のユーザーが4月30日にアクセストークンを持っていたとします。 5月1日、彼は自分のアプリケーションをreloginなしで使用できるようになりますか? また、「オフラインアクセスを非難してください」のチェックボックスをチェックすると、何が起きるのかわかりますか? Thanx –

+0

トークンが期限切れになる前にユーザーがアプリを使用する限り、トークンを更新/交換することができます。トークンは1日に1回しか更新できません。ユーザーがアプリから60日以上離れている場合、ユーザーはアプリに再度ログインする必要があります。あなたの答えは – Fisch

+0

です。実際にはデータベースにaccess_tokenを格納していますが、私はoffline_accessを使用していましたので、トークンの有効性をチェックしませんでした。だから、私は期限を日付ベースに保存する必要がありますか?トークンがもう有効でないと、ユーザーをリダイレクトします.... –

0

これを削除するのはFacebookの面白いことです。本当に私たちの仕事の多くを混乱させる!今では、新しいエンドポイントを呼び出すことができる小さなWindows/Unixサービスを稼働させることで、30日ごとに適切な値で「解決」すると言われています。これは、ユーザーのように見ていないエンドポイントとしてサイト上に物理的にする必要があります:

https://graph.facebook.com/oauth/access_token?    
    client_id=APP_ID& 
    client_secret=APP_SECRET& 
    grant_type=fb_exchange_token& 
    fb_exchange_token=EXISTING_ACCESS_TOKEN 

あなただけのURLを呼び出すと詳細を解析していると?だから、誰かがあなたのアプリケーションに接続し、新しい拡張アクセストークンを入手し、有効期限と一緒にDBに保存し、適切な設定をして、30日ごとにURLに電話してください。エッジ...)とそれまでの日付は、ユーザーが物理的にあなたのサイトにいる必要はありません。セキュリティを取り巻くにはあまりにも簡単だと思われる...?

+0

私はこれをお勧めしません。これを行うことは、FacebookのToSに違反することになります。 OAuth仕様では、短期間のアクセストークンを確実に要求し、これを永久にリフレッシュするサービスを作成することで、これに違反します。 –