Zure Active Directory - 허용된 토큰 수신자
Azure에서 "허용된 토큰 청중"에 대한 문서를 찾고 있지만 없는 것 같습니다.내가 거기에 넣은 값은 토큰과 함께 반환된 리소스 ID였습니다.
이것은 무엇을 의미합니까?문서에 대한 링크는 매우 감사할 것입니다.
PS. 실제 페이지의 학습 링크에는 이에 대한 언급이 없으며, 스크린샷은 더 오래된 것으로 보이며 이 필드가 없습니다.
잘 부탁드립니다.
저도 그 서류 때문에 망설였어요.제가 백엔드 API 앱을 사용하는 Angular Front-end 앱으로 작업한 내용은 다음과 같습니다.
프론트 엔드 앱에서 사용자는 링크를 클릭하고 Azure Directory로 인증합니다.토큰은 브라우저에서 세션 중에 유지됩니다.
다음으로, 사용자는 API 앱과 상호 작용하기를 원합니다.
과 같습니다.
- Azure에 있는 API 앱의 앱 서비스로 이동합니다.
- 인증/권한 부여로 이동
- 앱 서비스 인증 "사용" 설정
- 인증 공급자에서 "Azure Active Directory"를 선택합니다.
- "고급" 단추를 선택합니다.
- 클라이언트 ID 필드에 API App의 Azure Active Directory App Registration에서 "애플리케이션 ID"를 입력합니다.당신은 이미 Azure Active Directory에 API 앱을 등록했어야 합니다.
- 허용된 토큰 사용자 필드에 프론트엔드 앱의 Azure Active Directory 앱 등록에서 "애플리케이션 ID"를 입력합니다.프론트엔드 앱을 이미 Azure Active Directory에 등록했어야 합니다.
보안은 매우 중요합니다.문서가 얼마나 혼란스러운지 생각이 듭니다.오윈/카타나는 나가는 길에 있는 것처럼 보입니다.이 구성에 따라 필요한 항목이 없습니다.Owin이 사라졌다는 또 다른 징후는 Microsoft/System Identity Model과 관련된 엄청난 변화입니다. 이는 빌드, 식별, 수정, 야다야다가 불가능해 보입니다.저는 마이크로소프트가 "엔드포인트"를 만들어 무엇이 나와 있고 무엇이 들어가 있는지, 그리고 이 특정 단계를 수행하는 방법을 보여주기를 바랍니다.만약 당신의 앱이 이것을 할 수 있다면, 그것은 정말 깨끗합니다.
2020년으로 빠르게 이동하면 이제 이 매개 변수에 대한 설명이 있습니다.(2019년 추가)
허용된 토큰 수신자
클라우드 또는 서버 앱이며 웹 앱에서 인증 토큰을 허용하려면 여기에 웹 앱의 응용 프로그램 IDURI를 추가합니다.구성된 클라이언트 ID는 항상 암묵적으로 허용 대상으로 간주됩니다.
제 경험에 따르면, 이 필드(또는 값 중 하나)의 값은 서비스로 전송되는 토큰의 "청중" 필드에 있는 값과 일치해야 합니다(junas는 위 질문에 대한 코멘트만큼 언급했습니다).위에서 제안한 appidURI를 사용하기 위한 bwwmartens 제안은 작동할 것 같지만 Azure 포털의 현재 버전의 AAD 등록 블레이드에는 "AppIDURI" 값이 나열되지 않으며 더 이상 "설정 -> 속성"이 나타나지 않습니다(사이트가 계속 변경됨).
저의 경우, 앱 아이디를 입력하는 것만으로는 작동하지 않았습니다.여기서 필요한 가치를 찾는 가장 간단한 두 가지 방법은 다음과 같습니다.
- 서비스에 대한 AAD 등록으로 이동하여 "식별자 Uris" 필드의 매니페스트를 확인합니다.내 경험에 따르면 여기에 있는 값은 허용된 토큰 대상 목록에 입력한 값과 일치해야 합니다.
- 서비스로 보낼 JWT를 가져와 디코딩합니다(예: http://jwt.calebb.net/) 을 사용하여 "aud" 필드의 값을 확인합니다).허용된 토큰 청중 목록에 입력합니다.
오류: JWT 유효성 검사 실패: IDX10214:시청자 유효성 검사에 실패했습니다.대상:....는 허용됨을 나타냅니다.앱 서비스의 시청자 ARM 구성을 수정해야 합니다.
수정 방법:이를 위한 가장 간단한 방법은 https://resources.azure.com/ 을 통해 수행하는 것입니다.App Service 리소스 > config > auth 설정을 드릴다운하고 아래와 같이 값을 수정합니다.
"allowedAudiences":[
"https://<site>.azurewebsites.net"
]
OR
포털로 이동하여 인증의 고급 섹션을 클릭하고 웹 앱의 값으로 허용된 토큰 대상을 업데이트할 수 있습니다.현재 앱 서비스가 변경되면 자동으로 수행할 수 있지만 이 구성을 확인하는 것이 좋습니다.
현재 대부분의 사람들이 OAuth 2.0을 사용하고 있을 수 있으며, 이들에게 허용된 토큰 사용자는 앱 등록 ID 값으로 업데이트되어야 합니다.
Azure AD=> 앱 등록 => 웹 앱의 API => 값 노출을 업데이트할 수 있으며, 이는 사용자에게 도움이 될 것입니다.
값 00000002-0000-0000-c000-00000000은 Microsoft를 나타냅니다.권한 부여를 수행하려면 올바른 리소스에 대해 Grpah 리소스지만 토큰이 발급되어야 합니다.
이는 JWT 사양과 관련이 있습니다.
"감사"(청중) 클레임은 JWT가 대상으로 하는 수신자를 식별합니다.JWT를 처리하려는 각 주체는 독자 주장의 값으로 자신을 식별해야 합니다.클레임을 처리하는 주체가 클레임이 존재할 때 "감사" 클레임의 값과 자신을 식별하지 못할 경우 JWT는 거부되어야 합니다.일반적인 경우 "aud" 값은 대소문자를 구분하는 문자열의 배열이며, 각 문자열은 StringOr을 포함합니다.URI 값입니다.JWT에 한 명의 청중이 있는 특별한 경우, "aud" 값은 StringOr를 포함하는 대소문자를 구분하는 단일 문자열일 수 있습니다.URI 값입니다.시청자 가치의 해석은 일반적으로 응용 프로그램에 따라 다릅니다.이 청구는 선택 사항입니다.
대상은 액세스를 요청하는 응용프로그램/리소스를 나타냅니다.
액세스 토큰을 요청할 때 다음을 지정할 수 있습니다.
- a
resource
parameter:개변매: 이다들어예, 다을호면 access_token을 합니다.https://graph.microsoft.com/
일 수 . client_id는 응용 프로그램의 client_id입니다.00000003-0000-0000-c000-000000000000
.
이경에는우,,https://graph.microsoft.com/
는 앱 이며 앱입등식니 uri다자입니다.00000003-0000-0000-c000-000000000000
앱 등록의 client_id입니다. 개를 할 수 .identifier_uri
앱 등록을 만들 때.식별자 uris 및 클라이언트 ID는 고유하며 MS Graph API에 대한 액세스 토큰을 요청하는 데 사용할 수 있습니다. - a
scope
변수:를 들어 : 변예들를다어음호을출면하려이 access_token을 합니다.https://graph.microsoft.com/
.user.read
범위는 그서범위는래▁be가 될 것입니다.https://graph.microsoft.com/user.read
.
사용 권한에 토큰을 " " " " " " " " " " " " " " " " " 을 .{identifier_uri}/.default
이 에는 ㅠㅠㅠㅠㅠㅠㅠㅠㅠhttps://graph.microsoft.com/.default
.
그러면 ID 공급자가 요청된 응용 프로그램에 대한 토큰을 발급합니다. 그aud
클레임은 다음과 같습니다.
- 그
client_id
지정한 경우resource=client_id
매개 변수로 - 그
identifier_uri
지정한 경우resource=identifier_uri
또는scope={identifier_uri}/...
매개 변수로
질문으로 돌아가서 앱 서비스 위에서 Oauth2를 활성화할 때 다음과 같은 매개 변수를 지정해야 합니다.
client_id
그리고.client_secret
대부분 인증 코드 흐름에 사용됩니다.issuer
이 클레임은 토큰을 발행하는 사람(= ID 제공자)을 식별했습니다.AAD의 경우, 다음과 같습니다.https://sts.windows.net/your-tenant-id
또는https://sts.windows.net/your-tenant-name
이렇게 하면 수신된 토큰이 원하는 ID 공급자에 의해 발급되었음을 확인할 수 있습니다.
관례에 따라 발행인 클레임은 openid-configuration을 가져오는 방법도 정의합니다.{issuer}/.well-known/openid-configuration
(설명서 참조).간단히 말하자면, 저는 다음과 같습니다.openid-configuration
endpoint는 jwt 토큰의 유효성을 검사하는 방법에 대한 정보를 제공합니다.Allowed audiences
우리가 말한 것에 따르면, 허용된 청중은client_id
또는identifier_uri(es)
보호된 응용 프로그램의
언급URL : https://stackoverflow.com/questions/42640158/azure-active-directory-allowed-token-audiences
'programing' 카테고리의 다른 글
Excel VBA에 폴더 및 하위 폴더 만들기 (0) | 2023.04.26 |
---|---|
모든 데이터베이스 사용자 목록을 가져오는 방법 (0) | 2023.04.26 |
Bash에서 두 파일을 한 줄씩 병합하는 방법 (0) | 2023.04.26 |
파일이나 어셈블리 'mssshrtmi' 또는 해당 종속성 중 하나(Azure Table Storage Access)를 로드할 수 없습니다. (0) | 2023.04.26 |
Eclipse 하위 버전 프로젝트 연결 복원 (0) | 2023.04.26 |