Azure Active Directory B2C 사용자 지정 정책에서 JWT 토큰 발급자용 기술 프로필 정의

참고 항목

Azure Active Directory B2C에서 사용자 지정 정책은 주로 복잡한 시나리오를 해결하기 위해 설계되었습니다. 대부분의 시나리오에서 기본 제공 사용자 흐름을 사용하는 것이 좋습니다. 아직 수행하지 않았다면 Active Directory B2C에서 사용자 지정 정책 시작하기에서 사용자 지정 정책 스타터 팩에 대해 알아봅니다.

Azure AD B2C(Azure Active Directory B2C)는 각 인증 흐름을 처리할 때 여러 유형의 보안 토큰을 내보낸다. JWT 토큰 발급자의 기술 프로필은 신뢰 당사자 애플리케이션으로 다시 반환되는 JWT 토큰을 내보낸다. 일반적으로 이 기술 프로필은 사용자 경험의 마지막 오케스트레이션 단계입니다.

프로토콜

Protocol 요소의 Name 특성을 .로 설정OpenIdConnect해야 합니다. OutputTokenFormat 요소를 JWT.로 설정합니다.

다음 예제에서는 다음에 대한 기술 프로필을 보여줍니다.JwtIssuer

<TechnicalProfile Id="JwtIssuer">
  <DisplayName>JWT Issuer</DisplayName>
  <Protocol Name="OpenIdConnect" />
  <OutputTokenFormat>JWT</OutputTokenFormat>
  <Metadata>
    <Item Key="client_id">{service:te}</Item>
    <Item Key="issuer_refresh_token_user_identity_claim_type">objectId</Item>
    <Item Key="SendTokenResponseBodyWithJsonNumbers">true</Item>
  </Metadata>
  <CryptographicKeys>
    <Key Id="issuer_secret" StorageReferenceId="B2C_1A_TokenSigningKeyContainer" />
    <Key Id="issuer_refresh_token_key" StorageReferenceId="B2C_1A_TokenEncryptionKeyContainer" />
  </CryptographicKeys>
  <UseTechnicalProfileForSessionManagement ReferenceId="SM-jwt-issuer" />
</TechnicalProfile>

클레임 입력, 출력 및 유지

InputClaims, OutputClaimsPersistClaims 요소는 비어 있거나 없습니다. InutputClaimsTransformationsOutputClaimsTransformations 요소도 없습니다.

메타데이터

Attribute Required 설명
issuer_refresh_token_user_identity_claim_type OAuth2 권한 부여 코드 및 새로 고침 토큰 내에서 사용자 ID 클레임으로 사용해야 하는 클레임입니다. 기본적으로 다른 SubjectNamingInfo 클레임 유형을 지정하지 않는 한 이를 설정 objectId해야 합니다.
SendTokenResponseBodyWithJsonNumbers 아니요 항상 true(으)로 설정합니다. 숫자 값이 JSON 번호 대신 문자열로 지정된 레거시 형식의 경우 .로 설정합니다 false. 이 특성은 문자열과 같은 속성을 반환한 이전 구현에 종속된 클라이언트에 필요합니다.
token_lifetime_secs 아니요 액세스 토큰 수명. 보호된 리소스에 액세스하는 데 사용되는 OAuth 2.0 전달자 토큰의 수명입니다. 기본값은 3,600초(1시간)입니다. 최소(포함)는 300초(5분)입니다. 최대값(포함)은 86,400초(24시간)입니다.
id_token_lifetime_secs 아니요 ID 토큰 수명입니다. 기본값은 3,600초(1시간)입니다. 최소(포함)는 300초(5분)입니다. 최대값(포함)은 초 86,400(24시간)입니다.
refresh_token_lifetime_secs 아니요 새로 고침 토큰 수명입니다. 애플리케이션에 offline_access 범위가 부여된 경우 새로 고침 토큰을 사용하여 새 액세스 토큰을 획득할 수 있는 최대 기간입니다. 기본값은 120,9600초(14일)입니다. 최소(포함)는 86,400초(24시간)입니다. 최대값(포함)은 7,776,000초(90일)입니다.
rolling_refresh_token_lifetime_secs 아니요 토큰 슬라이딩 윈도우 수명을 새로 고칩니다. 이 기간이 경과하면 애플리케이션이 획득한 대부분의 최근 새로 고침 토큰의 유효 기간에 관계없이 사용자는 강제로 다시 인증을 받게 됩니다. 슬라이딩 윈도우 수명을 적용하지 않으려면 allow_infinite_rolling_refresh_token 값을 true로 설정합니다. 기본값은 7,776,000초(90일)입니다. 최소(포함)는 86,400초(24시간)입니다. 최댓값(포함)은 31,536,000초(365일)입니다.
allow_infinite_rolling_refresh_token 아니요 이 값을 true설정하면 새로 고침 토큰 슬라이딩 윈도우 수명이 만료되지 않습니다.
IssuanceClaimPattern 아니요 발급자(iss) 클레임을 제어합니다. 값 중 하나:
  • AuthorityAndTenantGuid - iss 클레임에는 사용자의 do기본 이름(예: login.microsoftonline 또는 tenant-name.b2clogin.com) 및 테넌트 식별자가 포함됩니다.https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/v2.0/
  • AuthorityWithTfp - iss 클레임에는 사용자의 할 일기본 이름(예: login.microsoftonlinetenant-name.b2clogin.com테넌트 식별자 및 신뢰 당사자 정책 이름)이 포함됩니다. https://login.microsoftonline.com/tfp/00000000-0000-0000-0000-000000000000/b2c_1a_tp_sign-up-or-sign-in/v2.0/
기본값: AuthorityAndTenantGuid
AuthenticationContextReferenceClaimPattern 아니요 클레임 값을 제어합니다 acr .
  • 없음 - Azure AD B2C는 acr 클레임을 발급하지 않습니다.
  • PolicyId - 클레임에 acr 정책 이름이 포함됩니다.
이 값을 설정하는 옵션은 TFP(트러스트 프레임워크 정책) 및 ACR(인증 컨텍스트 참조)입니다. 이 값을 TFP로 설정하는 것이 좋습니다. 값을 설정하려면 Key="AuthenticationContextReferenceClaimPattern"과 함께 <Item>이 존재하고 값이 None인지 확인합니다. 신뢰 당사자 정책에서 항목을 추가하고 <OutputClaims> 이 요소를 <OutputClaim ClaimTypeReferenceId="trustFrameworkPolicy" Required="true" DefaultValue="{policy}" PartnerClaimType="tfp"/>추가합니다. 또한 정책에 클레임 유형이 포함되어 있는지 확인합니다. <ClaimType Id="trustFrameworkPolicy"> <DisplayName>trustFrameworkPolicy</DisplayName> <DataType>string</DataType> </ClaimType>
RefreshTokenUserJourneyId 아니요 엔드포인트에 대한 액세스 토큰 POST 요청을 새로 고치는 동안 실행해야 하는 사용자 경험의 /token 식별자입니다.

암호화 키

CryptographicKeys 요소에는 다음 특성이 포함됩니다.

Attribute Required 설명
issuer_secret JWT 토큰에 서명하는 데 사용할 X509 인증서(RSA 키 집합)입니다. 사용자 지정 정책 시작에서 구성하는 키입니다B2C_1A_TokenSigningKeyContainer.
issuer_refresh_token_key 새로 고침 토큰을 암호화하는 데 사용할 X509 인증서(RSA 키 집합)입니다. 사용자 지정 정책 시작B2C_1A_TokenEncryptionKeyContainer에서 키를 구성했습니다.

세션 관리

Azure AD B2C와 신뢰 당사자 애플리케이션 간에 Azure AD B2C 세션을 구성하려면 요소 특성 UseTechnicalProfileForSessionManagement 에서 OAuthSSOSessionProvider SSO 세션에 대한 참조를 추가합니다.