액세스 토큰 유효성 검사 실패 Microsoft Graph API

존 Sp

나는 console applicationC #에서 빌드 중 입니다. 조직의 일부 프로세스를 자동화 할 수 있도록 Microsoft Graph API
호출하여 SharePoint의 일부 Excel 파일에 액세스하고 편집 하고 싶습니다.


앱의 논리는 간단합니다.

  1. 클라이언트 자격 증명 흐름사용하여이 콘솔 애플리케이션 Azure Active Directory인증 하기 위해 호출 합니다. 즉, clientsID 및 AppKey를 제공합니다. Azure Active Directory> 앱 등록 에서 clientsID 및 AppKey를 가져 왔습니다 .여기에 이미지 설명 입력
  2. Then I want to receive the access token and use this to make a GET Request to the Microsoft Graph API.
    E.g https://graph.microsoft.com/v1.0/me/

    But then response I get is this:

{
  "error": {
    "code": "InvalidAuthenticationToken",
    "message": "Access token validation failure. Invalid audience.",
    "innerError": {
      "request-id": "0a3ec**************",
      "date": "2019-10-15T13:54:33"
    }
  }
}

Below you will find the full code of my application with the two methods of getting the access token and calling the Graph API:

using Microsoft.IdentityModel.Clients.ActiveDirectory;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IdentityModel.Tokens;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using AuthenticationContext = Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext;

namespace Project_Budget
{
    class Program
    {
        private const string clientId = "14f1****************";
        private const string aadInstance = "https://login.microsoftonline.com/{0}";
        private const string tenant = "******.onmicrosoft.com";
        private const string resource = "https://graph.windows.net";
        private const string appKey = "IKV***********";
        static string authority = String.Format(CultureInfo.InvariantCulture, aadInstance, tenant);

        private static HttpClient httpClient = new HttpClient();
        private static AuthenticationContext context = null;
        private static ClientCredential credential = null;

        static void Main(string[] args)
        {
            context = new AuthenticationContext(authority);
            credential = new ClientCredential(clientId,appKey);

            Task<string> token = GetToken();
            token.Wait();
            //Console.WriteLine(token.Result + "\n");

            Task<string> graphCall = GetExcelFile(token.Result);
            graphCall.Wait();
            Console.WriteLine(graphCall.Result + "\n");
            Console.ReadLine();

        }

        private static async Task<string> GetExcelFile(string result)
        {
            string apiJsonResult = null;
            
            var apiCallString = "https://graph.microsoft.com/v1.0/me/";
         
            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result);
            var getResult = await httpClient.GetAsync(apiCallString);

            if (getResult.Content != null)
            {
                apiJsonResult = await getResult.Content.ReadAsStringAsync();
            }

            
            return apiJsonResult;
        }

        private static async Task<string> GetToken() 
        {
            AuthenticationResult result = null;
            string token = null;
            result = await context.AcquireTokenAsync(resource, credential); //authentication context object
            token = result.AccessToken;
            return token;
        }

        
    }
}

I have given all the access required for the app to run. Also I run the query on Graph Explorer and runs properly.
여기에 이미지 설명 입력 Why do I get this error on the console application?

Eastman

Ideally, the resource should actually be

private const string resource = "https://graph.microsoft.com";

But you still need to select the scopes that you want to target in your application. The way you are doing it at the moment does seem to acquire/set the relevant scopes which is done for you by Graph Explorer.

닷넷 코어 콘솔 앱을 빌드하는 방법에 대한이 빠른 시작 자습서를 따르는 것이 좋으며 즉시 시작하고 실행해야합니다. 시나리오에서 사용중인 ADAL 라이브러리보다 더 잘 작동하는 MSAL 라이브러리를 사용합니다.

https://docs.microsoft.com/en-us/graph/tutorials/dotnet-core

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Microsoft Graph API 인증 오류 : "액세스 토큰 유효성 검사 실패. 잘못된 대상"

분류에서Dev

액세스 토큰 유효성 검사에 실패했습니다. 잘못된 잠재 고객

분류에서Dev

Social API Facebook iOS : "액세스 토큰 유효성 검사 오류 : 세션이 만료되었습니다."

분류에서Dev

PHP Slim Framework REST API-각 경로 전에 액세스 토큰 유효성 검사?

분류에서Dev

Azure AD로 보호되는 WEB API에 대한 액세스 토큰 유효성 검사

분류에서Dev

IdSrv4-액세스 토큰 유효성 검사기 끝점

분류에서Dev

Microsoft Graph API-액세스 토큰을 새로 고칠 수 없습니다.

분류에서Dev

Azure Active Directory에서 내 API 및 Microsoft Graph에 대한 유효한 액세스 토큰을 얻는 방법은 무엇입니까?

분류에서Dev

.Net Microsoft Team Meeting API 생성 액세스 거부 토큰

분류에서Dev

Microsft Graph API 액세스 토큰

분류에서Dev

Microsoft Graph API에서 액세스 토큰을 받지만 새로 고침 토큰을받지 않음

분류에서Dev

토큰 API를 사용한 WSO2 토큰 생성 실패

분류에서Dev

Google OAuth2 서버 흐름에서 액세스 토큰 유효성 검사

분류에서Dev

클레임 액세스 토큰 유효성 검사 identityserver3 추가

분류에서Dev

Microsoft Graph API-인증 코드없이 액세스 토큰을 얻는 방법은 무엇입니까?

분류에서Dev

라이브 계정으로 액세스 토큰 요청시 Microsoft Graph REST API 오류 AADSTS65001

분류에서Dev

Instagram API 액세스 토큰 요청 실패

분류에서Dev

Azure AD 토큰 서명 유효성 검사가 JAVA에 실패 함

분류에서Dev

ADFS 토큰 암호화 인증서 체인 유효성 검사 실패

분류에서Dev

REST API에서 jwt 토큰 유효성 검사

분류에서Dev

여권 라이브러리를 사용하여 Microsoft Graph API에 액세스 할 때 CompactToken 구문 분석이 실패하고 오류 코드 : 80049217

분류에서Dev

리소스 서버에서 액세스 토큰의 유효성을 검사하고 이에 따라 응답

분류에서Dev

액세스 토큰의 유효성을 검사하는 방법은 무엇입니까?

분류에서Dev

Microsoft ID를 사용하여 Graph 및 Azure DevOps API 모두에 대한 고유 토큰 획득

분류에서Dev

Facebook Graph API를 통해 AccountKit 액세스 토큰을 사용하여 Facebook 사용자 정보 가져 오기

분류에서Dev

Microsoft Graph API를 사용하여 생성 된 OAuth 토큰을 확인하는 방법

분류에서Dev

Microsoft Graph Rest API : "알림 끝점 유효성 검사"는 어떻게 작동합니까?

분류에서Dev

Facebook Graph-api, 공유 수에 대한 권한 (잘못된 OAuth 액세스 토큰 서명)

분류에서Dev

$ expand (microsoft.graph.itemattachment / item)를 사용하여 ItemAttachment 속성을 읽는 동안 Microsoft Graph API "액세스가 거부되었습니다."

Related 관련 기사

  1. 1

    Microsoft Graph API 인증 오류 : "액세스 토큰 유효성 검사 실패. 잘못된 대상"

  2. 2

    액세스 토큰 유효성 검사에 실패했습니다. 잘못된 잠재 고객

  3. 3

    Social API Facebook iOS : "액세스 토큰 유효성 검사 오류 : 세션이 만료되었습니다."

  4. 4

    PHP Slim Framework REST API-각 경로 전에 액세스 토큰 유효성 검사?

  5. 5

    Azure AD로 보호되는 WEB API에 대한 액세스 토큰 유효성 검사

  6. 6

    IdSrv4-액세스 토큰 유효성 검사기 끝점

  7. 7

    Microsoft Graph API-액세스 토큰을 새로 고칠 수 없습니다.

  8. 8

    Azure Active Directory에서 내 API 및 Microsoft Graph에 대한 유효한 액세스 토큰을 얻는 방법은 무엇입니까?

  9. 9

    .Net Microsoft Team Meeting API 생성 액세스 거부 토큰

  10. 10

    Microsft Graph API 액세스 토큰

  11. 11

    Microsoft Graph API에서 액세스 토큰을 받지만 새로 고침 토큰을받지 않음

  12. 12

    토큰 API를 사용한 WSO2 토큰 생성 실패

  13. 13

    Google OAuth2 서버 흐름에서 액세스 토큰 유효성 검사

  14. 14

    클레임 액세스 토큰 유효성 검사 identityserver3 추가

  15. 15

    Microsoft Graph API-인증 코드없이 액세스 토큰을 얻는 방법은 무엇입니까?

  16. 16

    라이브 계정으로 액세스 토큰 요청시 Microsoft Graph REST API 오류 AADSTS65001

  17. 17

    Instagram API 액세스 토큰 요청 실패

  18. 18

    Azure AD 토큰 서명 유효성 검사가 JAVA에 실패 함

  19. 19

    ADFS 토큰 암호화 인증서 체인 유효성 검사 실패

  20. 20

    REST API에서 jwt 토큰 유효성 검사

  21. 21

    여권 라이브러리를 사용하여 Microsoft Graph API에 액세스 할 때 CompactToken 구문 분석이 실패하고 오류 코드 : 80049217

  22. 22

    리소스 서버에서 액세스 토큰의 유효성을 검사하고 이에 따라 응답

  23. 23

    액세스 토큰의 유효성을 검사하는 방법은 무엇입니까?

  24. 24

    Microsoft ID를 사용하여 Graph 및 Azure DevOps API 모두에 대한 고유 토큰 획득

  25. 25

    Facebook Graph API를 통해 AccountKit 액세스 토큰을 사용하여 Facebook 사용자 정보 가져 오기

  26. 26

    Microsoft Graph API를 사용하여 생성 된 OAuth 토큰을 확인하는 방법

  27. 27

    Microsoft Graph Rest API : "알림 끝점 유효성 검사"는 어떻게 작동합니까?

  28. 28

    Facebook Graph-api, 공유 수에 대한 권한 (잘못된 OAuth 액세스 토큰 서명)

  29. 29

    $ expand (microsoft.graph.itemattachment / item)를 사용하여 ItemAttachment 속성을 읽는 동안 Microsoft Graph API "액세스가 거부되었습니다."

뜨겁다태그

보관