Office.context.mailbox.getUserIdentityTokenAsync((結果))を使用して取得したJWTトークンを検証する必要があります。ユーザーの一意のIDを取得し、それを次のように追加するために独自のJwtSecurityTokenHandlerを実装しました。オーディエンスURIの検証に失敗しました。オーディエンスが一致しない
しかし、私たちはJWTトークンを認証することができません。次のinvalidAudienceURi例外をスローしています。しかし、使用されたURIをトークンでデコードしたときこのクエリ文字列は、office.jsによって動的に注入されます。
例外:
Microsoft.Exchange.WebServices.Auth.Validation.InvalidTokenAudienceException was unhandled by user code
HResult=-2146233088
Message=Audience URI validation failed. Audience does not match.
Source=Microsoft.Exchange.WebServices.Auth
StackTrace:
at Microsoft.Exchange.WebServices.Auth.Validation.AppIdentityToken.ProcessToken(Uri extensionServiceHost, String key) in \\REDMOND\EXCHANGE\BUILD\E15\15.00.0913.000\SOURCES\sources\dev\EwsManagedApi\src\Auth\Validation\ClientExtensionIdentityToken.cs:line 220
at Microsoft.Exchange.WebServices.Auth.Validation.AppIdentityToken.Validate(Uri extensionServiceHost, String catchedKey) in \\REDMOND\EXCHANGE\BUILD\E15\15.00.0913.000\SOURCES\sources\dev\EwsManagedApi\src\Auth\Validation\ClientExtensionIdentityToken.cs:line 185
at Microsoft.Exchange.WebServices.Auth.Validation.AppIdentityToken.Validate(Uri extensionServiceHost) in \\REDMOND\EXCHANGE\BUILD\E15\15.00.0913.000\SOURCES\sources\dev\EwsManagedApi\src\Auth\Validation\ClientExtensionIdentityToken.cs:line 155
at UatWork.Web.CustomTokenHandler.ValidateToken(String token, TokenValidationParameters validationParameters, SecurityToken& validatedToken) in C:\Users\vinay\Source\Workspaces\UatWork-O365\Development\UatWork\src\UatWork.Web\Startup.cs:line 176
at Microsoft.AspNet.Authentication.JwtBearer.JwtBearerHandler.<HandleAuthenticateAsync>d__1.MoveNext()
画像:試しました例外とカスタムハンドラ
解決方法1:我々は、ValidateAudienceメソッドをオーバーライドしてみました。しかし、実行時にこのメソッドIDは決して実行されません。 解決策2試しました:jwttokenハンドラのオプションとしてAudienceValidatorを追加しようとしました。残念ながら、これも呼び出されていません。
ここから行く方法について誰にでも教えてください。
おかげで、 ビナイTC