Micrsoft Graph API를 사용하여 프로그래밍 방식으로 클라이언트 응용 프로그램, 자원 서버를 등록하고 자원 서버의 역할을 클라이언트 응용 프로그램에 할당합니다. 다음 단계는 다음과 같습니다AAD에서 발행 한 JWT 토큰에 누락 된 역할 클레임
액세스 토큰 받기 ->https://login.windows.net/ /oauth2/token/?api-version=1.6
클라이언트 응용 프로그램 등록 ->https://graph.windows.net//응용 프로그램/API 버전을? = 매니페스트에서 응용 프로그램 역할 아래 1.6
고객 서비스 교장
자원 서버 등록 :
"appRoles": [ { "allowedMemberTypes": [ "Application" ], "description": "Description of Role - Resource_API_11092017", "displayName": "Role_Resource_API_11092017", "id": "5ff0033d-fa87-4a77-9b3d-b4b201dfc32e", "isEnabled": true, "value": "Read_Only_Resource_API_11092017" } ],
자원 서버 서비스 사용자 생성
클라이언트 응용 프로그램에 역할을 할당. 내가 클라이언트 응용 프로그램의 자격 증명을 사용하여 액세스 토큰을 얻기 위해 노력하고 있어요 때
, 나는 JWT에서 어떤 역할이나 리소스 서버의 정보를 얻고 있지 않다.
심지어 클라이언트 응용 프로그램의 포털에서 리소스 서버의 역할에 권한을 부여합니다. 그러나 여전히 운이 없다.
도움이 될 것입니다. 자세한 내용이 필요한 경우 알려주십시오.
감사합니다. 2017년 11월 14일에
@Update :
는 JWT의 페이로드를 찾아주세요.
{ "aud": "https://xxxxx.onmicrosoft.com/Resource_API_11092017", "iss": "https://sts.windows.net/caa4bd37-xxxx-xxxx-xxxx-bba4bd0e22a6/", "iat": 1510679930, "nbf": 1510679930, "exp": 1510683830, "aio": "Y2NgYLipff1Ghn65atEd97grbjxxxx==", "appid": "3ec8690d-xxxx-xxxx-xxxx-739709a758cc", "appidacr": "1", "idp": "https://sts.windows.net/caa4bd37-xxxx-xxxx-xxxx-bba4bd0e22a6/", "tid": "caa4bd37-xxxx-xxxx-xxxx-bba4bd0e22a6", "ver": "1.0" }
서비스 주체에 역할이 포함되어 있지 않습니다. 하지만 포털을 사용하여 Role_Assigned_API_11092017을 응용 프로그램 권한으로 지정했습니다. 이 Role_Assigned_API_11092017은 자원 응용 프로그램 Resource_API_11092017에서 역할로 정의됩니다.
권한은 Resource_API_11092017에서 Portal을 통해 부여됩니다.
안녕하세요. 어떤 정보를 다시 얻고 있습니까? 어떤 주장을하고 있습니까? 디코딩 된 JWT는 어떻게 생겼습니까? –
[Graph Explorer] (https://graphexplorer.azurewebsites.net/)에서 appRoleAssignments를 확인할 수 있습니다. 클라이언트 응용 프로그램의 서비스 주체가 가지고 있어야하므로'https : // graph.windows.net/tenant-id/servicePrincipals/client-sp-id/appRoleAssignments'를 시도하십시오. – juunas
권한 부여를 누르면 이러한 할당이 만들어집니다. – juunas