2016-07-08 12 views

答えて

1

オープンソースのライブラリのほとんどは、唯一のプロトコルの実装を提供します。 ADAL4Jはキャッシュサポート(他のADALとは異なり)を提供しませんが、Azure ADと統合できるように開発者からプロトコルの詳細を抽象化します。 AuthenticationResultを自分で保存し、アクセストークンの有効期限が切れたときに結果からリフレッシュトークンを使用することを検討できます。そのためにacquireTokenUsingRefreshTokenを呼び出すことができます。

0

@ KanishkPanwar-MSFTによると、ADAL4jはアクセストークンのキャッシュメカニズムをサポートしていません。

しかし、私が知っているように、記事Best Practices for OAuth 2.0 in Azure ADのセクション「キャッシュアクセストークン」からのアクセストークンをキャッシュする方法を示すガイドラインがあります。

キャッシュ・アクセス・トークン

クライアントアプリケーションとそれに関連する潜伏からのネットワーク呼び出しを最小限に抑えるために、クライアントアプリケーションはOAuth 2.0の応答で指定されたトークン存続のためのアクセストークンをキャッシュする必要があります。トークンの有効期間を調べるには、expires_inまたはexpires_onパラメーターの値を使用します。

Web APIリソースがinvalid_tokenエラーコードを返す場合、これはリソースがトークンが期限切れであると判断したことを示している可能性があります。クライアントとリソースのクロック時間が異なる場合(「タイムスキュー」と呼ばれる)、トークンがクライアントキャッシュからクリアされる前に、トークンが期限切れとみなされることがあります。このような場合は、計算された有効期間内であっても、キャッシュからトークンをクリアしてください。

一方、参照できると思う記事Caching access tokens in a multitenant applicationがあります。これには.NET用のサンプルコードも含まれています。

+0

apiは、adal4jがnode/.netと同じようにローカルキャッシュをサポートするように、さまざまな言語で一貫して実装されることを願っています。 –

関連する問題