내 Azure 디렉토리에 2 개의 애플리케이션을 만들었습니다. API 서버 1 개와 API 클라이언트 1 개를 만들었습니다. 나는 파이썬 ADAL 라이브러리를 사용하고 성공적으로 다음 코드를 사용하여 토큰을 얻을 수 있습니다401 Bearer 토큰을 사용하여 Azure API App에 REST 호출을 무단으로 만들기
tenant_id = "abc123-abc123-abc123"
context = adal.AuthenticationContext('https://login.microsoftonline.com/' + tenant_id)
token = context.acquire_token_with_username_password(
'https://myapiserver.azurewebsites.net/',
'myuser',
'mypassword',
'my_apiclient_client_id'
)
내가 다음 방법을 사용하여 내 API 응용 프로그램에 요청을 보낼 수 있지만, '무단'지고 유지하려고 :
을at = token['accessToken']
id_token = "Bearer {0}".format(at)
response = requests.get('https://myapiserver.azurewebsites.net/', headers={"Authorization": id_token})
loginurl에서 myuser/mypass를 사용하여 성공적으로 로그인 할 수 있습니다. Azure AD에서 클라이언트 응용 프로그램에 서버 응용 프로그램에 대한 액세스 권한을 부여했습니다.
전체 오류는 무엇입니까? – yonisha
안녕하세요 @yonisha, "응답", : 응답 = requests.get ('https://myapiserver.azurewebsites.net/', headers = { "인증": id_token, "Content-Type": "응용 프로그램/JSON "<응답 [401]> 당신은이 디렉터리 또는 페이지를 볼 수있는 권한이 없습니다 response.reason가 무단" "" "response.content"입니다 ""입니다 ""}) 이하는 평가 " "response.status_code"is "401" – Progger
액세스 토큰이 유효 (잘못된 액세스 토큰 오류 메시지가 다릅니다)하지만 잘못된 페이지에 액세스하려고 시도하는 것 같습니다. – yonisha