OpenID Connect ID 공급자는 OpenID Connect 사양에 부합하는 서비스입니다. OpenID Connect는 ID 토큰 개념을 도입했습니다. ID 토큰은 클라이언트가 사용자의 ID를 확인할 수 있도록 하는 보안 토큰입니다. 또한 클레임이라고 하는 사용자에 대한 기본 프로필 정보도 가져옵니다.
OpenID Connect 공급자인 Microsoft Entra 외부 ID, Microsoft Entra ID, 그리고 여러 테넌트를 가진 Microsoft Entra ID는 Power Pages에 기본적으로 통합되어 있습니다. 이 문서에서는 다른 OpenID Connect ID 공급자를 Power Pages 사이트에 추가하는 방법에 대해 설명합니다.
Power Pages에서 지원 및 지원되지 않는 인증 흐름
- 암시적 허용
- 이 흐름은 Power Pages 사이트의 기본 인증 방법입니다.
- 인증 코드
- Power Pages는 client_secret_post 메서드를 사용하여 ID 서버의 토큰 엔드포인트와 통신합니다.
- 토큰 엔드포인트로 인증하는 private_key_jwt 메서드는 지원되지 않습니다.
- 하이브리드(제한된 지원)
- Power Pages에서는 응답에 id_token이 있어야 하므로 response_type = code token은 지원되지 않습니다.
- Power Pages의 하이브리드 흐름은 암시적 허용과 동일한 흐름을 따르고 id_token을 사용하여 사용자를 직접 로그인합니다.
- 코드 교환용 증명 키(PKCE)
- 사용자를 인증하는 PKCE 기반 기술은 지원되지 않습니다.
노트
사이트의 인증 설정에 대한 변경 사항이 사이트에 반영되는 데 몇 분 정도 걸릴 수 있습니다. 변경 사항을 즉시 확인하려면 관리 센터에서 사이트를 다시 시작합니다.
Power Pages에서 OpenID Connect 공급자 설정
Power Pages 사이트에서 보안>ID 공급자를 선택합니다.
ID 공급자가 나타나지 않으면 사이트의 일반 인증 설정에서 외부 로그인이 켜짐으로 설정되어 있는지 확인하세요.
+ 새 공급자를 선택합니다.
로그인 공급자 선택에서 기타를 선택합니다.
프로토콜에서 OpenID Connect를 선택합니다.
공급자 이름을 입력합니다.
공급자 이름은 사용자가 로그인 페이지에서 ID 공급자를 선택할 때 표시되는 버튼의 텍스트입니다.
다음을 선택합니다.
회신 URL에서 복사를 선택합니다.
Power Pages 브라우저 탭을 닫지 마십시오. 당신은 곧 그것으로 돌아갑니다.
ID 공급자에서 앱 등록 만들기
복사한 회신 URL을 사용하여 ID 공급자에 애플리케이션을 만들고 등록합니다.
애플리케이션 또는 클라이언트 ID와 클라이언트 암호를 복사하십시오.
애플리케이션의 엔드포인트를 찾아 OpenID Connect 메타데이터 문서 URL을 복사합니다.
ID 공급자에 대해 필요에 따라 다른 설정을 변경합니다.
Power Pages에서 사이트 설정 입력
이전에 종료한 Power Pages ID 공급자 구성 페이지로 돌아가서 다음 값을 입력합니다. 선택적으로 필요에 따라 추가 설정을 변경합니다. 완료되면 확인을 선택합니다.
권한: 권한 URL을 다음 형식으로 입력합니다.
https://login.microsoftonline.com/<Directory (tenant) ID>/, 여기서 <디렉터리(테넌트) ID>는 사용자가 만든 애플리케이션의 디렉터리(테넌트) ID입니다. 예를 들어 Azure Portal의 디렉토리(테넌트) ID가aaaabbbb-0000-cccc-1111-dddd2222eeee인 경우, 권한 URL은https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/입니다.클라이언트 ID: 사용자가 만든 애플리케이션의 애플리케이션 또는 클라이언트 ID를 붙여넣습니다.
리디렉션 URL: 사이트에서 사용자 지정 도메인 이름을 사용하는 경우 맞춤 URL을 입력합니다. 그렇지 않으면 기본값을 그대로 둡니다. 값이 사용자가 만든 애플리케이션의 리디렉션 URI와 정확히 동일한지 확인하세요.
메타데이터 주소: 복사한 OpenID Connect 메타데이터 문서 URL을 붙여넣습니다.
범위: OpenID Connect
scope매개 변수를 사용하여 요청할 범위의 공백으로 구분된 목록을 입력하십시오. 기본값은openid입니다.openid값은 필수입니다. 추가할 수 있는 다른 클레임에 대해 알아보세요.응답 유형: OpenID Connect
response_type매개 변수의 값을 입력하십시오. 가능한 값에는code,code id_token,id_token,id_token token및code id_token token이 포함됩니다. 기본값은code id_token입니다.클라이언트 암호: 공급자 애플리케이션에서 클라이언트 암호를 붙여넣습니다. 이는 앱 암호 또는 소비자 암호로 지칭될 수도 있습니다. 응답 유형이
code인 경우 이 설정이 필요합니다.응답 모드: OpenID Connect response_mode 매개 변수의 값을 입력하십시오. 응답 유형이
query인 경우code이어야 합니다. 기본값은form_post입니다.외부 로그아웃: 이 설정은 사이트에서 연합 로그아웃을 사용할지 여부를 제어합니다. 페더레이션 로그아웃을 사용하면 사용자가 애플리케이션 또는 사이트에서 로그아웃하면 동일한 ID 공급자를 사용하는 모든 애플리케이션 및 사이트에서도 로그아웃됩니다. 사용자가 웹 사이트에서 로그아웃할 때 페더레이션 로그아웃 환경으로 리디렉션하려면 이 기능을 켭니다. 웹사이트에서만 사용자를 로그아웃시키려면 이 기능을 끕니다.
로그아웃 후 리디렉션 URL: 사용자가 로그아웃한 후 ID 공급자가 사용자를 리디렉션해야 하는 URL을 입력합니다. 이 위치는 ID 공급자 구성에서 적절하게 설정해야 합니다.
RP 시작 로그아웃: 이 설정은 신뢰 당사자(OpenID Connect 클라이언트 애플리케이션)가 사용자를 로그아웃할 수 있는지 여부를 제어합니다. 이 설정을 사용하려면 외부 로그아웃을 켭니다.
Power Pages의 추가 설정
추가 설정을 통해 사용자가 OpenID Connect ID 공급자로 인증하는 방법을 보다 세밀하게 제어할 수 있습니다. 이러한 값을 설정할 필요가 없습니다. 전적으로 선택 사항입니다.
발급자 필터: 모든 테넌트의 모든 발급자와 일치하는 와일드카드 기반 필터를 입력합니다. 예:
https://sts.windows.net/*/. Microsoft Entra ID 인증 공급자를 사용하는 경우 발급자 URL 필터는https://login.microsoftonline.com/*/v2.0/입니다.대상 그룹 유효성 검사: 토큰 유효성 검사 중에 대상 그룹을 유효성 검사하려면 이 설정을 켭니다.
유효한 대상 그룹: 쉼표로 구분된 대상 그룹 URL 목록을 입력합니다.
발급자 유효성 검사: 토큰 유효성 검사 중에 발급자를 유효성 검사하려면 이 설정을 켭니다.
유효한 발급자: 쉼표로 구분된 발급자 URL 목록을 입력합니다.
등록 클레임 매핑 및 로그인 클레임 매핑: 사용자 인증에서 클레임은 이메일 주소나 생년월일과 같이 사용자의 ID를 설명하는 정보입니다. 애플리케이션이나 웹사이트에 로그인하면 토큰이 생성됩니다. 토큰에는 연결된 모든 클레임을 포함하여 ID에 대한 정보가 포함됩니다. 토큰은 애플리케이션 또는 사이트의 다른 부분이나 동일한 ID 제공자에 연결된 다른 애플리케이션 및 사이트에 액세스할 때 ID를 인증하는 데 사용됩니다. 클레임 매핑은 토큰에 포함된 정보를 변경하는 방법입니다. 애플리케이션 또는 사이트에서 사용할 수 있는 정보를 사용자 지정하고 기능 또는 데이터에 대한 액세스를 제어하는 데 사용할 수 있습니다. 등록 클레임 매핑은 애플리케이션이나 사이트에 등록할 때 내보낸 클레임을 수정합니다. 로그인 클레임 매핑은 애플리케이션이나 사이트에 로그인할 때 내보낸 클레임을 수정합니다. 클레임 매핑 정책에 대해 자세히 알아보기.
사용자 정보는 다음 두 가지 방법으로 제공될 수 있습니다.
- ID 토큰 클레임 – 이름 또는 이메일과 같은 기본 사용자 특성이 토큰에 있습니다.
- UserInfo 엔드포인트 – 인증 후 자세한 사용자 정보를 반환하는 보안 API입니다.
UserInfo 엔드포인트를 사용하려면 Authentication/OpenIdConnect/{ProviderName}/UseUserInfoEndpointforClaims라는 사이트 설정을 생성한 후 값을 true로 설정합니다.
선택적으로 Authentication/OpenIdConnect/{ProviderName}/UserInfoEndpoint라는 사이트 설정을 만들고 값을 UserInfo 엔드포인트 URL로 설정합니다. 이 설정을 제공하지 않으면, Power Pages는 OIDC 메타데이터에서 엔드포인트를 찾으려 합니다.
오류 처리:
- 엔드포인트 URL이 설정되어 있지 않고 Power Pages가 메타데이터에서 이를 찾을 수 없는 경우, 로그인은 계속 진행되며 경고가 기록됩니다.
- URL이 설정되었지만 액세스할 수 없는 경우 경고와 함께 로그인이 계속됩니다.
- 엔드포인트가 인증 오류(예: 401 또는 403)를 반환하면 오류 메시지가 포함된 경고와 함께 로그인이 계속됩니다.
매핑 구문:
로그인 또는 등록 클레임 매핑에서 UserInfo 클레임을 사용하려면 다음 형식을 사용합니다.
fieldName = userinfo.claimName
UseUserInfoEndpointforClaims를 사용하도록 설정하지 않으면
userinfo.접두사를 사용하는 매핑이 무시됩니다.Nonce 수명: Nonce 값의 수명을 분 단위로 입력합니다. 기본값은 10분입니다.
토큰 수명 사용: 이 설정은 쿠키와 같은 인증 세션 수명이 인증 토큰의 수명과 일치해야 하는지 여부를 제어합니다. 설정을 켜면 이 값은 Authentication/ApplicationCookie/ExpireTimeSpan 사이트 설정의 응용 프로그램 쿠키 만료 시간 값을 재정의합니다.
이메일로 연락처 맵핑: 이 설정은 연락처가 로그인할 때 해당 이메일 주소에 매핑되는지 여부를 결정합니다.
- 켜짐: 고유한 연락처 레코드를 일치하는 이메일 주소와 연결하고 사용자가 성공적으로 로그인한 후 연락처에 외부 ID 공급자를 자동으로 할당합니다.
- 끄기
노트
UI_Locales 요청 매개 변수가 이제 인증 요청에서 자동으로 전송되고 포털에서 선택한 언어로 설정됩니다.
다른 권한 부여 매개 변수
다음 인증 매개 변수를 사용하되, Power Pages의 OpenID Connect 공급자 내에서는 설정하지 마세요.
acr_values: acr_values 매개 변수를 사용하면 ID 공급자가 MFA(다단계 인증)와 같은 보안 보증 수준을 적용할 수 있습니다. 이를 통해 앱은 필요한 인증 수준을 나타낼 수 있습니다.
acr_values 매개 변수를 사용하려면 Authentication/OpenIdConnect/{ProviderName}/AcrValues라는 사이트 설정을 만들어 필요한 값을 설정합니다. 이 값을 설정하면 Power Pages는 권한 요청에 acr_values 매개 변수를 포함합니다.
동적 권한 부여 매개 변수: 동적 매개 변수를 사용하면 포함된 앱 또는 여러 테넌트 시나리오와 같은 다양한 사용 컨텍스트에 대한 권한 부여 요청을 조정할 수 있습니다.
프롬프트 매개 변수:
이 매개 변수는 로그인 페이지 또는 동의 화면을 표시할지 여부를 제어합니다. 이를 사용하려면 사용자 지정을 추가하여 쿼리 문자열 매개 변수로 ExternalLogin 엔드포인트로 보냅니다.
지원되는 값:
- 없음
- 로그인
- 동의
- select_account
URL 형식:
{PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}&prompt={value}Power Pages는 이 값을 프롬프트 매개 변수로 ID 공급자에게 전송합니다.
로그인 힌트 매개 변수:
이 매개 변수를 사용하면 이메일과 같은 알려진 사용자 식별자를 전달하여 로그인 화면을 미리 채우거나 무시할 수 있습니다. 이를 사용하려면 사용자 지정을 추가하여 쿼리 문자열 매개 변수로 ExternalLogin 엔드포인트로 보냅니다.
URL 형식:
{PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}&login_hint={value}이렇게 하면 사용자가 동일한 세션에서 Microsoft Entra ID 또는 Microsoft 계정(MSA)과 같은 다른 ID를 통해 이미 로그인되어 있는 경우에 도움이 됩니다.
사용자 지정 권한 부여 매개 변수: 일부 ID 공급자는 특정 권한 부여 동작에 대한 독점 매개 변수를 지원합니다. Power Pages를 사용하면 제작자가 이러한 매개 변수를 안전하게 설정하고 전달할 수 있습니다. 이러한 매개 변수를 사용하려면 쿼리 문자열 매개 변수로 ExternalLogin 끝점에 보내는 사용자 지정을 추가합니다.
Authentication/OpenIdConnect/{Provider}/AllowedDynamicAuthorizationParameters라는 이름의 사이트 설정을 만들고 값을 param1, param2, param3과 같이 매개 변수 이름을 쉼표로 구분한 목록으로 설정합니다.
URL 형식 예시:
{PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}¶m1=value¶m2=value¶m3=value매개 변수(param1, param2 또는 param3)가 허용되는 매개 변수 목록에 없으면 Power Pages는 이를 무시합니다.
이 설정은 권한 부여 요청에서 보낼 수 있는 사용자 지정 매개 변수 목록을 정의합니다.
동작
- ExternalLogin 엔드포인트의 쿼리 문자열에 매개 변수를 전달합니다.
- Power Pages에는 권한 요청의 목록에 있는 매개 변수만 포함됩니다.
- Prompt, login_hint 및 ReturnUrl과 같은 기본 매개 변수는 항상 허용되며 나열할 필요가 없습니다.
URL 형식 예시:
{PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}&custom_param=valuecustom_param이 허용되는 매개 변수 목록에 없으면 Power Pages는 이를 무시합니다.
참조 항목
Power Pages를 사용하여 Microsoft Entra 외부 ID 설정
Microsoft Entra ID로 OpenID Connect 공급자 설정
OpenID Connect FAQ