2016-12-08 16 views
0

iOSアプリケーション用にMicrosoft Graph SDKを使用しています。Microsoft Graphを使用する際にアクセストークンを更新する必要がありますか?

有効期限が切れたアクセストークンを手動でリフレッシュする必要がありますか?

私が話しているアクセストークンは、次のとおりです。 NXOAuth2AccountStore.sharedStore()のアカウント[0] .accessToken

私はまださえaccessTokenの有効期限が切れて照会することができることをテストしています。私が最初にログインした時、期限切れの時間は3600秒です。だから、私は2時間待って、ユーザー情報を取得するためのテスト、イベントをもう一度、それを得ることができます。

私は

おかげ

*詳細を確認してくださいアクセストークンの有効期限が切れされていることを確認するためにダンプ "accessToken.hasExpired" と "accessToken.expiresAt" を持っている*

私はここのサンプルに従います。 https://github.com/microsoftgraph/ios-swift-connect-sample

Microsoft Graphで更新アクセストークンに関するドキュメントが見つかりません: https://graph.microsoft.io/en-us/code-samples-and-sdks

答えて

2

はい、アプリケーションでGraphを使用する場合、定期的にトークンを更新する必要があります。あなたはできる、

@implementation NXOAuth2AuthenticatorRefreshCallback

私はあなたの質問に答えていない場合:使用している示唆した認証ライブラリは、このトークンをリフレッシュするための方法が含まれてい

https://docs.microsoft.com/en-us/azure/active-directory/active-directory-authentication-scenariosは:より詳細なドキュメントは、Azureの広告のサイトから入手可能ですあなたが達成しようとしていることについてもっと具体的にするか?有効期限が切れたトークンを使用できますか、古いトークンをリフレッシュできませんか?

+0

こんにちはケイトリン俵を、私はマイクロソフトのAzure Active Directoryを使用していなかった あなたの答えのための 感謝。私はMicrosoft Graphを使用してアプリケーションを登録しています:https://apps.dev.microsoft.com/Landing 私はテストしてアクセストークンが期限切れになっているのを見ただけですが、依然としてクエストを送信できます(たとえば、カレンダーでイベントを取得するなど)。 –

+0

はい、Microsoft GraphはAzure ADを使用してユーザーを認証します(統合認証:https://graph.microsoft.io/en-us/docs/authorization/converged_auth)。期限切れのトークンの問題を調べ、必要に応じて関連チームのサービスバグを作成します。 –

0

アクセストークンを更新する必要がある場合は、このコードを使用してください。 これは、グラフのSDKに用意されている事前定義済みコードへのパッチとして作用し、そして、あなたは方法からトークンを抽出することができます

+(id)tokenWithResponseBody:(NSString *)theResponseBody tokenType:(NSString *)tokenType; 

[MSGraphClient setAuthenticationProvider:AppDel.authentication.authProvider]; 

_graphClient = [MSGraphClient client]; 

NSMutableURLRequest * sampleReq = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://graph.microsoft.com/v1.0/me"]]; 

[_graphClient.authenticationProvider appendAuthenticationHeaders:sampleReq completion:^(NSMutableURLRequest *request, NSError *error){  
    if(error == nil) 
    { 

    } 
    else 
    { 
     [self showToast:@"" message:@"Failure in refresh 0365 token"]; 
    } 
}]; 
関連する問題