외부 응용 프로그램에서 SharePoint [온라인] REST API에 액세스하려고합니다. Azure에 관리자 계정으로 등록하고 적절한 사용자 위임 권한 (Office 365 SharePoint Online
)을 할당했습니다.ADAL을 사용한 Azure AD OAuth 인증 : 리소스 ID는 무엇입니까?
나는 ADAL.js를 사용하여 acquireToken
에 전화를 걸어 내 Authorization
헤더에 해당 토큰을 사용합니다. 나는 온라인 읽은에서
Exception of type 'Microsoft.IdentityModel.Tokens.AudienceUriValidationFailedException' was thrown
가 acquireToken() 메소드가 resource
PARAM을 않고 : 유효한 생긴 토큰이 부착지고, 그러나 나는 응답에 다음과 같은 401 오류를 받고 있어요 SharePoint API의이 값은 https://[tenant].sharepoint.com
이어야하지만 null
무기명 토큰 만 반환합니다.
대신 (이전 401 오류를 발생시키는) Azure에서 생성 된 응용 프로그램 ID로 자원을 설정하는 것입니다. 결국 localStorage 캐시에 토큰으로 설정됩니다. 그래서 무기명 토큰이 돌아 오지 만 예외가 생깁니다.
두 질문 :
자원 문자열이며, 무엇 무엇 acquireToken()를 호출 할 적절한 값으로, 보는 내 응용 프로그램의 ID로 전화 (같은 일 전으로 사용하고 있음 내 ADAL 구성의 클라이언트 ID)는 무기명 토큰을 성공적으로 반환하는 유일한 값입니까? 각 Microsoft API에 대한 적절한 리소스 문자열 목록이 있습니까? 나는이 주제에 관한 문서를 찾는 데 어려움을 겪고있다.
Azure의 구성에 문제가 있습니까?
고마워요!
혹시 이것을 알아 냈습니까? 나는 같은 문제가있다. 추가 응답 헤더가 반환되었습니다 (x-ms-diagnostics : 3000003; 이유 = "유효하지 않은 잠재 고객 Uri 'f8f8d2ad-7c9d-4aac-80eb-3f00a263c879'; 카테고리 ="invalid_client "). – Russellg