내 Azure 모바일 응용 프로그램의 백엔드에서 사용자가 내 응용 프로그램에 로그온 할 때 Azure의 내장 인증 서비스를 사용하여 액세스 토큰을 얻고 있습니다. Microsoft 계정을 통해 나는 그 토큰을 성공적으로 얻고있다.Azure의 내장 된 응용 프로그램 서비스 인증을 통해 얻은 토큰에 대한 Microsoft Graph의 잘못된 인증 토큰 오류
그러나 Microsoft Graph를 호출하여 인증 된 사용자의 이름, 전자 메일 및 ID를 얻으려고합니다. 여기
MicrosoftGraphServiceException:
Code: InvalidAuthenticationToken
Message: CompactToken parsing failed with error code: 8004920A
해당 코드입니다 : 푸른의 로그 스트림 날이 오류를 보여줍니다 도움을
[MobileAppController]
public class MicrosoftAccountController : ApiController
{
MicrosoftAccountCredentials credentials;
// GET api/<controller>
public async Task<DataObjects.User> Get()
{
if (credentials == null)
{
credentials =
await this.User.GetAppServiceIdentityAsync<MicrosoftAccountCredentials>(this.Request);
var accessToken = credentials.AccessToken;
}
GraphServiceClient graphClient =
new Microsoft.Graph.GraphServiceClient(new DelegateAuthenticationProvider((requestMessage) =>
{
requestMessage.Headers.Authorization =
new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", accessToken);
return Task.FromResult(0);
}));
Microsoft.Graph.User graphuser = await graphClient.Me.Request().GetAsync();
}
감사합니다!
귀하가 어떤 범위에서 요청하는지는 명확하지 않습니다. 돌아 오는 JWT 토큰의 예를 추가 할 수 있습니까? –
진단 로그 스트림에 다음을 표시합니다 : 2017-11-19T22 : 34 : 03 PID [11148] 자세한 정보 외부 HTTP 끝점 GET https://apis.live.net/v5.0/me. 2017-11-19T22 : 34 : 04 PID [11148] 정보 로그인이 완료되었습니다. '사용자의 이메일을 삭제했습니다'에 대한 로그인이 완료되었습니다. 공급자 : 'microsoftaccount'. 2017-11-19T22 : 34 : 04 PID [11148] Verbose 사이트 'mattsapp.azurewebsites.net'에 대한 'AppServiceAuthSession'쿠키 작성. 길이 : 492. – Matt
https://mattsapp.azurewebsites.net/.auth/login/done#token= – Matt