2017-05-01 21 views
1

私はAzure Media ServicesアカウントをASP.Net Coreアプリ、サーバー側で正常に認証しました。 AzureはSimple Web Token(SWT)を返します。Simple Token(SWT)には、このトークンの有効期限のタイムスタンプを含むクレームが含まれています。SWTトークンからのクレームを取得

トークンは次のようになります。

のhttp%3A%2F%2fschemas.xmlsoap.org%2fws%2f2005%2f05%2fidentity%2fclaims%2fnameidentifier = healthtrainee &壷%3aSubscriptionId = bc73f3ce-aafe- 40ff-bd14-56bd5969b725 &のhttp%3A%2F%2fschemas.microsoft.com%2faccesscontrolservice%2f2010%2f07%2fclaims%2fidentityprovider = HTTPS%3A%2F%2fwamsprodglobal001acs.accesscontrol.windows.net%2F &オーディエンス= URNの%の3aWindowsAzureMediaServices & ExpiresOn = 1493595982 &発行者= https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows。ネット%2fを&私はトークンのライフサイクル(必要に応じてリフレッシュする)を処理するために、このトークンのうちの主張を取得できますか

HMACSHA256 = a1tBHoUzli1oEzzGwYGcqdE5EGJAv8xPXzz4XWB5EBo%3D。 私は自分自身でこれを解析するのを助ける何かがあると確信しています。

答えて

1

(必要に応じて更新する)トークンのライフサイクルを処理するには、このトークンをどのように取得できますか。

通常、我々はアクセストークンを取得するためにREST APIを使用する場合、我々はaccess_tokenexpires_inを取得することができ、応答体の値(アクセストークンが有効である秒数を示す)、その後、我々はキャッシュ可能性その値を外部ストレージに保存し、expires_inの値を監視し、アクセストークンが期限切れでないことを確認します。

さらに、Media Services SDKを使用する場合は、retrieve and cache the AccessToken string and the TokenExpiration valuesとしてから、&を監視してTokenExpirationが期限切れでないことを確認してください。

var accessToken = _context.Credentials.AccessToken; 
var tokenExpiration = _context.Credentials.TokenExpiration; 
+0

ありがとうございます。これは、expiration_in値を使用して有効期限のタイムスタンプを計算するなど、私にとってはプランBになります。私はトークンの有効期限のタイムスタンプを使用して、「冗長な」情報の種類を保存しないようにしたいと考えました。 Media Services SDKを利用した2番目の提案は、私が.Net Coreを使用しているため、私の選択肢ではなく、SDKはCore afaikをサポートしていません。 – mJay

+0

''冗長な情報を保存するのを避けるために、トークンの有効期限のタイムスタンプを使うことを望んでいました。 ''本当に** ExpiresOn **部分をSWTから抽出したいのであれば、すべてのトークン文字列に渡ってピースに一致する式。 –

関連する問題