office.js 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를 추가하려고했습니다. 불행히도 이것은 불리지 않았습니다.
여기에서 어떻게 갈 지 말해 줄 사람이 있습니까?
감사합니다, 인 Vinay TC