1

미안은 푸른 기능에 새로운 Microsoft 그래프 바인딩 기능을 사용하려고, 그래서 I've는 this article이 (clientCredentials를 사용하여) 다음 응용 프로그램은 함수를 호출 할 때 그러나, 미안 다음과 같은 오류지고, 잘 등록되었습니다푸른 기능/마이크로 소프트 그래프 토큰 (clientCredentials)를받지 바인딩

{ 
    "error": "unauthorized_client", 
    "error_description": "AADSTS70001: Application with identifier 'ba8b3444-403f-4472-aba3-0407c563dd28' was not found in the directory microsoft.com\r\nTrace ID: 76a06d59-43a5-4862-9a1e-7864121c2200\r\nCorrelation ID: f511ce93-d6e3-40f2-8427-a3af0b89750d\r\nTimestamp: 2017-11-20 10:11:41Z", 
    "error_codes": [70001], 
    "timestamp": "2017-11-20 10:11:41Z", 
    "trace_id": "76a06d59-43a5-4862-9a1e-7864121c2200", 
    "correlation_id": "f511ce93-d6e3-40f2-8427-a3af0b89750d" 
} 

내가 말한대로를, 앱 ID가 정확한지, 오른쪽으로 (내 푸른 AD 디렉토리에 등록 사용 권한). 토큰을 얻으려고 할 때 microsoft.com 디렉토리를 사용하는 이유는 무엇입니까 ?? !!

이것은 (단지 토큰을 반환) 내 기능 C# 코드입니다 : 여기

public static async Task<string> Run(HttpRequestMessage req, string graphToken, TraceWriter log) 
{ 
    log.Info("C# HTTP trigger function processed a request."); 
    return graphToken; 
    //HttpClient client = new HttpClient(); 
    //client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", graphToken); 
    //return await client.GetAsync("https://graph.microsoft.com/v1.0/groups"); 
} 

내 _function.json`

{ 
    "bindings": [ 
    { 
     "name": "req", 
     "type": "httpTrigger", 
     "direction": "in", 
     "authLevel": "anonymous", 
     "methods": [ 
     "get" 
     ] 
    }, 
    { 
     "name": "graphToken", 
     "type": "token", 
     "direction": "in", 
     "resource": "https://graph.microsoft.com", 
     "identity": "ClientCredentials" 
    }, 
    { 
     "name": "$return", 
     "type": "http", 
     "direction": "out" 
    } 
    ], 
    "disabled": false 
} 

답변

1

이것은 우리가 믿는 알려진 문제가 발생할 수하는이다 전용 테넌트와 대조적으로 공통 엔드 포인트를 사용하여 바인딩합니다. 공용 엔드 포인트의 기본 동작이 Microsoft 임차인을 사용하는 이유는 모르겠지만 공통 엔드 포인트에 대해 수동으로 플로우를 수행하여 모든 임차인에게 문제를 재현 할 수 있습니다. 수정에 https://github.com/Azure/azure-functions-microsoftgraph-extension/issues/25

없음 ETA를하지만, 팀이 작업됩니다

난 그냥 문제가 우리의 GitHub의의의 repo에 추적하지, 그래서 나는 새로운 항목을 만들었습니다 깨달았다.

+0

감사합니다. Matt. 코드가 이미 고정되어 있고 다음 릴리스를 기다리는 것을 확인하는 것이 좋습니다. 또한 해결 방법으로 평소와 같이 ADAL/MSAL을 사용하여 앱 토큰을 얻을 수 있으며 Azure 기능에서 정상적으로 작동한다고 언급합니다. 다시 한 번 감사드립니다! –