2017-09-10 1 views
0

Windows 데스크톱 (UWP가 아님)과 iOS 클라이언트가 모두있는 Azure App Service를 구축 중입니다. Microsoft 계정 인증을 사용하여 사용자를 인증하려고합니다.OneDrive SDK로 인증 할 때 사용자 정보를 얻는 방법

이전 질문의 결과로 here 이제 OneDrive SDK를 사용하여 사용자를 인증 할 수 있지만 다음 장애물에 빠졌습니다. One Drive SDK는 주어진 이름 및 전자 메일 주소와 같은 사용자 세부 정보에 대한 액세스를 제공하지 않습니다.

예를 들어 오래된 학교 데스크톱 응용 프로그램에서 사용자를 인증하기위한 지침이나 지시 사항에 따라 다른 사람이 Microsoft 계정 (Azure AD가 아님)을 사용하여 Azure App 서비스에 액세스 할 수 있도록 허용 할 수 있습니까? 고객은 이메일 주소에 액세스 할 수 있으며 감가 상각 된 기술을 사용하지 않습니다.

답변

0

후 인증 쉬운 인증을 통해, 우리는 아래의 코드처럼 API를 호출하여 me 엔드 포인트 (https://{yourSiteName}/.auth/me)에서 사용자 정보를 획득 할 수 있습니다

var result =await client.InvokeApiAsync("/.auth/me"); 

그리고 이메일을 인수, 우리는 wl.emails 필요 OneDrive SDK로 인증 할 때 그 후 우리는 me 종점에서 주어진 이름과 이메일을 얻을 수 있습니다 :

string email=(string)result[0].SelectToken("$.user_claims[?(@.typ == 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress')]")["val"] 

string givenName=(string)result[0].SelectToken("$.user_claims[?(@.typ == 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname')]")["val"] 
+0

대단히 고마워요. 이 정보가 어디에서 발견 되었습니까? – PhilDotC

+0

쉬운 인증에 대한 [문서] (Azure App Service의 인증 및 권한 부여)를 참조 할 수 있습니다. 또한 cgillum은 일련의 도움말 블로그를 작성했습니다 ([여기] (https://cgillum.tech/category/easy-auth/) 참조). –

관련 문제