2016-04-15 5 views
0

こんにちはなぜOffice 365のログインキャッシュにNULL値が表示されるのですか?

私はカレンダーにアクセスするためにオフィスの365ログインに取り組んでいます。自分のプロジェクトにサービスを追加しました。問題なく正常に動作します。データベースをクリアして、カレンダーイベントは、キャッシュがnull値を示しているためアクセスできません。もう一度サービスを追加しましたが、それでもキャッシュのnull値が表示されます。この問題を解決するのに役立つことができますか?

 UserTokenCache Cache; 

     // constructor 
     public ADALTokenCache(string user) 
     { 
      // associate the cache to the current user of the web app 
      User = user; 
      this.AfterAccess = AfterAccessNotification; 
      this.BeforeAccess = BeforeAccessNotification; 
      this.BeforeWrite = BeforeWriteNotification; 


      // look up the entry in the DB 
      Cache = db.UserTokenCacheList.FirstOrDefault(c => c.webUserUniqueId == User); 
      // place the entry in memory 
      this.Deserialize((Cache == null) ? null : Cache.cacheBits); 
     } 



     AuthorizationCodeReceived = (context) => 
         { 

          var code = context.Code; 

          ClientCredential credential = new ClientCredential(SettingsHelper.ClientId, SettingsHelper.ClientSecret); 
          String UserObjectId = context.AuthenticationTicket.Identity.FindFirst(ClaimTypes.NameIdentifier).Value; 

          AuthenticationContext authContext = new AuthenticationContext(SettingsHelper.Authority, new ADALTokenCache(UserObjectId)); 

          authContext.AcquireTokenByAuthorizationCode(code, new Uri(HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Path)), credential, SettingsHelper.AADGraphResourceId); 

          return Task.FromResult(0); 
         }, 

おかげで、
カルティク

答えて

0

私は自分のデータベースをクリアして、もう一度私はこの場合、カレンダーイベント

を得ることができなかったプロジェクトを実行している、あなたがログアウトする必要があります新しいキャッシュがデータベースに格納されるように再度ログインします。

これで解決しない場合は、AspNetMvc-with-O365 projectをGitHubで実行してこの問題のトラブルシューティングを行うこともできます。

ステップ1サンプルプロジェクトAspNetMvc-with-O365.zipをダウンロードします。

ステップ2 Office 365テナントAD(アプリケーションが登録されている場合はスキップ)でアプリケーションを登録し、Office 365 Exchange Online>ユーザーメールの読み取りアクセス許可を宣言し、REPLY URLを "http://localhost:2659/"と設定します。 enter image description here

ステップ3 Web.configファイルで、Azure ADポータルからClientId、TenantIdおよびClient Secretをコピーします。

enter image description here

ステップ#4の実行Visual StudioでプロジェクトとはアズールADアカウントでログイン

次のように期待される結果は次のようになります。

enter image description here

ます。また、クリックすることができますトークンの問題を取得している場合は、[キャッシュデータベースのクリア]ボタンをクリックします。

関連する問題