602 views(since 2013/10/08)

SharePoint AccessToken/RefreshToken

この記事は書きかけです。

いくつかSharePoint Add-insを作成していて、気が付いた点をメモします。

SharePoint AccessToken/RefreshToken いくつかポイントがあるのですが、わかる範囲で記載しておきます。

Access Tokenの種類

参考

Inside SharePoint 2013 OAuth Context Tokens

ACS 00000001-0000-0000-c000-000000000000
Exchange 00000002-0000-0ff1-ce00-000000000000
SharePoint 00000003-0000-0ff1-ce00-000000000000
Lync 00000004-0000-0ff1-ce00-000000000000
Workflow 00000005-0000-0000-c000-000000000000

 

AccessTokenの有効期限は1時間

実際にテストをする約1時間(2015/08/10時点)でした。

AccessTokenが期限切れになりましたら、RefreshToken(おそらく有効期限が長いはず)でAccessTokenを再取得します。

 

参考

松崎さんBlog

Native Application (Mobile App) で Azure Active Directory に Login するプログラミング (OAuth 紹介)

また、Access Token の有効期限は、約 1 時間です。Access Token が期限切れになった場合にも、上記の通り Refresh Token を使って Access Token を取得しなおします。
補足 : refresh token は最大 14 日使用可能で、再取得することで、さらに 14 日間使用できます。(最大で 90 日まで使用できます。)

 

Micrsosft Sample
Office 365 API Tools を使用したプログラミング

Access Token と Refresh Token
アプリケーションが Exchange のサービスに接続する際、内部で Access Token と呼ばれる文字列が使用されています。この Access Token を使用して、アプリケーションは、その他の処理も継続して実行できます。
また、Access Token には有効期限があり、1 時間で使用できなくなりますが、この場合は Refresh Token と呼ばれるものを使用して、再度、Access Token を取り直します。
上記の AcquireTokenSilentAsync では、こうした面倒なトークンの扱いも自動化してくれています。
また、Access Token や Refresh Token をキャッシュしてアプリケーション終了後もこの値を保持することで、同じアカウント情報で継続して利用することが可能です。(上記のサンプルでは、このキャッシュの処理はおこなっていません。)

 

野呂清二

Filed Under: Office365Office365 AppSharePoint

About the Author

野呂清二(ご連絡はこちらまで (http://www.exceedone.co.jp/inquiry/)

Leave a Reply




If you want a picture to show with your comment, go get a Gravatar.