ConfidentialClientApplication 클래스
<xref:ClientApplication.__init__>이 매개 변수는 allow_broker 그대로 유지None됩니다.
애플리케이션 인스턴스를 만듭니다.
생성자
ConfidentialClientApplication(client_id, client_credential=None, authority=None, validate_authority=True, token_cache=None, http_client=None, verify=True, proxies=None, timeout=None, client_claims=None, app_name=None, app_version=None, client_capabilities=None, azure_region=None, exclude_scopes=None, http_cache=None, instance_discovery=None, allow_broker=None, enable_pii_log=None, oidc_authority=None)
매개 변수
| Name | Description |
|---|---|
|
client_id
필수
|
Microsoft Entra 관리 센터 등록한 후 앱에 client_id 있습니다. |
|
client_credential
|
여기서PublicClientApplication는 None을 사용합니다. 예를 ConfidentialClientApplication들어 다양한 시나리오에 대해 다양한 입력 형식을 지원합니다. 클라이언트 비밀 사용을 지원합니다. 와 같은
|
|
client_claims
|
버전 0.5.0에 추가됨: 이 ConfidentialClientApplication 프라이빗 키로 서명되는 추가 클레임의 사전입니다. 예를 들어 {"client_ip": "x.x.x.x"}를 사용할 수 있습니다. 다음 기본 클레임 중 어느 것도 재정의할 수 있습니다.
Default value: None
|
|
authority
|
토큰 기관을 식별하는 URL입니다. 형식이어야 합니다.
버전 1.17에서 변경됨: 다음과 같이 미리 정의된 상수 및 작성기를 사용할 수도 있습니다.
Default value: None
|
|
validate_authority
|
(선택 사항) 권한 유효성 검사를 켜거나 끕니다. 이 매개 변수는 기본적으로 true입니다. Default value: True
|
|
token_cache
|
이 ClientApplication 인스턴스에서 사용하는 토큰 캐시를 설정합니다. 기본적으로 메모리 내 캐시가 만들어지고 사용됩니다. Default value: None
|
|
http_client
|
(선택 사항) 추상 클래스 HttpClient <msal.oauth2cli.http.http_client> 구현은 요청 세션 인스턴스에 기본값입니다. MSAL 1.11.0부터 연결 오류 시 다시 시도하도록 기본 세션이 구성됩니다. 고유한 http_client 제공하는 경우 재시도 여부를 결정하는 것이 http_client 의무입니다. Default value: None
|
|
verify
|
(선택 사항) 기본 요청 라이브러리의 verify 매개 변수에 전달됩니다. 사용자 고유의 Http 클라이언트를 전달하도록 선택한 경우에는 적용되지 않습니다. Default value: True
|
|
proxies
|
(선택 사항) 기본 요청 라이브러리의 프록시 매개 변수에 전달됩니다. 사용자 고유의 Http 클라이언트를 전달하도록 선택한 경우에는 적용되지 않습니다. Default value: None
|
|
timeout
|
(선택 사항) 기본 요청 라이브러리의 시간 제한 매개 변수에 전달됩니다. 사용자 고유의 Http 클라이언트를 전달하도록 선택한 경우에는 적용되지 않습니다. Default value: None
|
|
app_name
|
(선택 사항) Microsoft 원격 분석을 위해 애플리케이션 이름을 제공할 수 있습니다. 기본값은 None입니다. 즉, Microsoft 전달되지 않습니다. Default value: None
|
|
app_version
|
(선택 사항) Microsoft 원격 분석을 위해 애플리케이션 버전을 제공할 수 있습니다. 기본값은 None입니다. 즉, Microsoft 전달되지 않습니다. Default value: None
|
|
client_capabilities
|
(선택 사항) 하나 이상의 클라이언트 기능(예: ["CP1"])을 구성할 수 있습니다. 클라이언트 기능은 이 클라이언트가 수행할 수 있는 기능을 STS(Microsoft ID 플랫폼)에 알리기 위한 것이므로 STS는 특정 기능을 켤 수 있습니다. 예를 들어 클라이언트가 클레임 챌린지를 처리할 수 있는 경우 STS는 리소스가 클레임 챌린지를 내보낼 때 클라이언트가 이러한 문제를 처리할 수 있다는 것을 알고 리소스에 CAE(지속적인 액세스 평가) 액세스 토큰을 발급할 수 있습니다. 구현 세부 정보: 클라이언트 기능은 현재 유선에서 "클레임" 매개 변수를 사용하여 구현됩니다. MSAL은 나중에 획득 토큰 요청 중 하나를 통해 제공할 클레임 매개 변수 로 결합합니다. Default value: None
|
|
azure_region
|
(선택 사항) MSAL에 Entra 지역 토큰 서비스를 사용하도록 지시합니다. 이 레거시 기능은 자사 애플리케이션에서만 사용할 수 있습니다.
4개의 값을 지원합니다.
메모 지역 자동 검색은 VM 및 Azure Functions 테스트되었습니다. 그것은 신뢰할 수 없습니다. 이 옵션을 사용하는 애플리케이션은 짧은 시간 제한을 구성해야 합니다. 자세한 내용 및 지역 문자열의 값 참조 https://dotnet.territoriali.olinfo.it/entra/msal/dotnet/resources/region-discovery-troubleshooting 버전 1.12.0의 새로운 기능 Default value: None
|
|
exclude_scopes
|
(선택 사항) 지금까지 MSAL 하드 코드는 범위 offline_access 앱이 사용자의 데이터에 장기간 액세스할 수 있도록 합니다.
앱에 불필요하거나 바람직하지 않은 경우 이제 이 매개 변수를 사용하여 범위의 제외 목록(예: Default value: None
|
|
http_cache
|
MSAL은 오랫동안 .에서 이 앱이 CLI(명령줄 앱)인 경우 여러 CLI 실행에서 http_cache 유지하려고 합니다. 지속형 파일의 형식은 불안정한 프로토콜로 인해 변경될 수 있지만 이에 국한되지 않으므로 구현에서 예기치 않은 로드 오류를 허용할 수 있습니다. 다음 레시피는 이렇게 하는 방법을 보여줍니다.
내부 내부 버전 1.16.0의 새로운 기능 Default value: None
|
|
instance_discovery
|
<xref:boolean>
지금까지 MSAL은 특히 익숙하지 않은 기관을 사용하는 경우 일부 메타데이터를 얻기 위해 위치한 이 매개 변수는 기본적으로 None으로 설정되며 인스턴스 검색을 사용하도록 설정합니다. MSAL이 인스턴스 검색을 포함하지 않고 as-is작동하도록 허용하는 일부 기관을 알고 있는 경우 권장되는 패턴은 다음과 같습니다.
일부 기관을 미리 알지 못하지만 MSAL이 제공할 권한을 수락하도록 하려면 인스턴스 검색을 무조건 사용하지 않도록 설정하는 데 사용할 버전 1.19.0의 새로운 기능 Default value: None
|
|
allow_broker
|
<xref:boolean>
Deprecated. 대신 Default value: None
|
|
enable_pii_log
|
<xref:boolean>
사용하도록 설정하면 로그에 PII(개인 식별 가능 정보)가 포함될 수 있습니다. 브로커 동작 문제 해결에 유용할 수 있습니다. 기본 동작은 False입니다. 버전 1.24.0의 새로운 기능 Default value: None
|
|
oidc_authority
|
버전 1.28.0에 추가됨: 형식 참고: Broker는 OIDC 기관에 사용되지 않습니다. Default value: None
|
메서드
| acquire_token_for_client |
최종 사용자가 아닌 현재 기밀 클라이언트에 대한 토큰을 획득합니다. MSAL은 Python 1.23이므로 캐시에서 토큰을 자동으로 찾고 캐시가 누락된 경우에만 ID 공급자에게 요청을 보냅니다. |
| acquire_token_on_behalf_of |
OBO(On-Behalf-of) 흐름을 사용하여 토큰을 획득합니다. 현재 앱은 최종 사용자를 나타내는 토큰을 사용하여 호출된 중간 계층 서비스입니다. 현재 앱은 이러한 토큰(즉, 사용자 어설션)을 사용하여 해당 사용자를 대신하여 다운스트림 웹 API에 액세스하는 다른 토큰을 요청할 수 있습니다. 자세한 내용은 여기를 참조하세요. 현재 중간 계층 앱에는 동의를 얻기 위한 사용자 상호 작용이 없습니다. 이 문서에서 중간 계층 앱에 대한 사전 동의를 얻는 방법을 알아보세요. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application |
| remove_tokens_for_client |
현재 클라이언트에 대해 이전에 획득한 acquire_token_for_client 모든 토큰을 제거합니다. |
acquire_token_for_client
최종 사용자가 아닌 현재 기밀 클라이언트에 대한 토큰을 획득합니다.
MSAL은 Python 1.23이므로 캐시에서 토큰을 자동으로 찾고 캐시가 누락된 경우에만 ID 공급자에게 요청을 보냅니다.
acquire_token_for_client(scopes, claims_challenge=None, fmi_path=None, **kwargs)
매개 변수
| Name | Description |
|---|---|
|
scopes
필수
|
(필수) 보호된 API(리소스)에 액세스하도록 요청된 범위입니다. |
|
claims_challenge
|
claims_challenge 매개 변수는 userInfo 엔드포인트 및/또는 ID 토큰 및/또는 액세스 토큰에서 반환될 www-authenticate 헤더의 claims_challenge 지시문 형식으로 리소스 공급자가 요청한 특정 클레임을 요청합니다. 이러한 위치에서 요청되는 클레임 목록을 포함하는 JSON 개체의 문자열입니다. Default value: None
|
|
fmi_path
|
Optional. 페더레이션된 관리 ID(FMI) 자격 증명 경로입니다.
제공된 경우 토큰 요청 본문에서 매개 변수로
Default value: None
|
반품
| 형식 | Description |
|---|---|
|
Microsoft Entra json 응답을 나타내는 받아쓰기입니다.
|
acquire_token_on_behalf_of
OBO(On-Behalf-of) 흐름을 사용하여 토큰을 획득합니다.
현재 앱은 최종 사용자를 나타내는 토큰을 사용하여 호출된 중간 계층 서비스입니다. 현재 앱은 이러한 토큰(즉, 사용자 어설션)을 사용하여 해당 사용자를 대신하여 다운스트림 웹 API에 액세스하는 다른 토큰을 요청할 수 있습니다. 자세한 내용은 여기를 참조하세요.
현재 중간 계층 앱에는 동의를 얻기 위한 사용자 상호 작용이 없습니다. 이 문서에서 중간 계층 앱에 대한 사전 동의를 얻는 방법을 알아보세요. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application
acquire_token_on_behalf_of(user_assertion, scopes, claims_challenge=None, **kwargs)
매개 변수
| Name | Description |
|---|---|
|
user_assertion
필수
|
이 앱에서 이미 받은 들어오는 토큰 |
|
scopes
필수
|
다운스트림 API(리소스)에 필요한 범위입니다. |
|
claims_challenge
|
claims_challenge 매개 변수는 userInfo 엔드포인트 및/또는 ID 토큰 및/또는 액세스 토큰에서 반환될 www-authenticate 헤더의 claims_challenge 지시문 형식으로 리소스 공급자가 요청한 특정 클레임을 요청합니다. 이러한 위치에서 요청되는 클레임 목록을 포함하는 JSON 개체의 문자열입니다. Default value: None
|
반품
| 형식 | Description |
|---|---|
|
Microsoft Entra json 응답을 나타내는 받아쓰기입니다.
|
remove_tokens_for_client
현재 클라이언트에 대해 이전에 획득한 acquire_token_for_client 모든 토큰을 제거합니다.
remove_tokens_for_client()