B2C 사용자에 대한 액세스 및 새로 고침 토큰 세트를 가져 오려고하는 웹 API가 있습니다. 사용자 로그인은 구성된 "소셜 아이디 공급자"를 통해 수행됩니다.Azure AD B2C가 토큰 요청시 AADSTS70000 오류를 반환합니다.
API는 인증 코드를받습니다. 토큰에 대한 코드를 교환 할 때 Azure AD B2C 세입자의 종단점은 invalid_grant
오류를 반환합니다.
사이트에서 찾은 다른 답변을 살펴 보았습니다. 여전히 문제는 남아 있습니다. 포인터 많이 감사합니다.
자세한 내용은 다음과 같습니다.
:- 에 대한
로그인 접속 및 로그인에 프로파일 문제의 주장은 이름을
- 이메일
- ID 공급자
- 개체 ID
토큰 엔드 포인트의 오류를 감안할 때
{
"error": "invalid_grant",
"error_description": "AADSTS70000: Transmission data parser failure: Authorization Code is malformed or invalid. [...]",
"error_codes": [
70000
],
[...]
}
다음과 같이 1,363,210
인증 요청을 보이는 : 사용자 권한 부여시
AUTHORIZATION_ENDPOINT = 'https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/authorize'
authorization_url = f'{AUTHORIZATION_ENDPOINT}' \
f'?client_id={CLIENT_ID}' \
f'&response_type=code' \
f'&redirect_uri=http%3A%2F%2Flocalhost%3A8000%2Fcode' \
f'&scope=openid offline_access' \
f'&nonce=hellobob' \
f'&p=B2C_1_<profile>'
는 인증 코드는 API에 의해 POST
에드 엔드 포인트 토큰하는 것입니다. 페이로드는 파이썬 사전으로 표현됩니다.
TOKEN_ENDPOINT = 'https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/token'
payload = {
'p': 'B2C_1_<profile>',
'client_id': CLIENT_ID,
'client_secret': CLIENT_SECRET,
'code': code,
'grant_type': 'authorization_code',
'redirect_uri': 'http://localhost:8000/code',
'scope': 'openid offline_access'
}
response = requests.post(TOKEN_ENDPOINT, data=payload)
'https://login.microsoftonline.com/te/ .onmicrosoft.com//oauth2/v2.0/token'이어야하는 토큰 엔드 포인트 URL이 문제였던 것 같습니다. 'https : //login.microsoftonline.com/tfp/ ... '에 대한 언급과는 별도로 B2C 문서에서 이에 대한 언급을 찾을 수 없습니다. 최근 변화입니까? –
MrBink
이상한 점은 B2C 팀에 문의하겠습니다. –
Azure AD B2C를 대상으로하는 세 가지 방법이 있습니다. 1. 경로에서 te 또는 tfp없이 사용한 URL 사용 및 쿼리 매개 변수로 정책 지정 (p = policyName) 2. 경로에서 te 사용 b2c policy 이름이 인 경우 3. 경로에 tfp를 사용하여 b2c policy 이름 – Parakh