2016-09-21 1 views
0

WebApi를 작성하여 하늘색 서버에 호스팅 했으므로 Microsoft Dynamics CRM의 데이터를 Office 365 사용자 자격 증명으로 로그인 한 상태에서이 API로 가져 오려고합니다.azure hosted web api에서 office 365 로그인 사용자의 Microsoft Dynamic CRM을 인증하는 방법은 무엇입니까?

그래서 Office 365에서 WebApi를 호출하면 사용자 자격 증명에 로그인 한 Office 365가 걸리며 같은 사용자의 CRM에서 데이터를 가져옵니다.

답변

2

Dynamic 365 데이터를 얻으려면 언급 한 액세스 토큰이 사무실 365 OAuth에 의해 부여되어야합니다. 이미 Azure 액티브 디렉토리에 앱을 등록하고 클라이언트 ID와 비밀 키를 얻었다면 앱 등록 설정 패널의 필수 권한을 사용하여 앱에 동적 356 액세스 권한을 부여해야합니다.

Azure AD에서 앱을 설정 한 후 사용자를 사무실 365 로그인 페이지 (OAuth 2.0 Authorization Endpoint)로 리디렉션하여 액세스 토큰을 얻을 수 있습니다. 그것을하는 다른 방법이 있습니다. 내 경험에서 나는 인증 코드를 사용하여 토큰을 받고 사용하지만, 일반적으로는 다음과 같은 PARAM로 로그인 페이지의 URL을 구성해야합니다

'https://login.windows.net/' + tenant + '/oauth2/authorize?response_type=code&client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>&resource=<resource>' 

는 인증 코드의 경우 그것은 당신이 토큰을 획득하는 데 사용할 수있는 코드를 반환합니다. Microsoft는 귀하를 대신해 드라이버를 개발했습니다. node.js를 사용하는 경우 adal을 확인할 수 있습니다. 물론 dot.net과 비슷한 점이 있습니다.

액세스 토큰을 얻은 후에는 동적 365 (리소스)를 호출하여 데이터를 가져와야합니다.

관련 문제