Skip to content

Commit 417792a

Browse files
authored
Merge pull request #458 from AzureAD/actionable-runtime-error-for-adfs
Removes the middle-layer exception
2 parents 2f3c7bb + d590400 commit 417792a

File tree

2 files changed

+8
-13
lines changed

2 files changed

+8
-13
lines changed

msal/application.py

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1417,18 +1417,12 @@ def acquire_token_by_username_password(
14171417
user_realm_result = self.authority.user_realm_discovery(
14181418
username, correlation_id=headers[msal.telemetry.CLIENT_REQUEST_ID])
14191419
if user_realm_result.get("account_type") == "Federated":
1420-
try:
1421-
response = _clean_up(self._acquire_token_by_username_password_federated(
1422-
user_realm_result, username, password, scopes=scopes,
1423-
data=data,
1424-
headers=headers, **kwargs))
1425-
except (ValueError, RuntimeError):
1426-
raise RuntimeError(
1427-
"ADFS is not configured properly. "
1428-
"Consider use acquire_token_interactive() instead.")
1429-
else:
1430-
telemetry_context.update_telemetry(response)
1431-
return response
1420+
response = _clean_up(self._acquire_token_by_username_password_federated(
1421+
user_realm_result, username, password, scopes=scopes,
1422+
data=data,
1423+
headers=headers, **kwargs))
1424+
telemetry_context.update_telemetry(response)
1425+
return response
14321426
response = _clean_up(self.client.obtain_token_by_username_password(
14331427
username, password, scope=scopes,
14341428
headers=headers,

msal/wstrust_request.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ def send_request(
4545
elif '/trust/13/usernamemixed' in endpoint_address:
4646
soap_action = Mex.ACTION_13
4747
if soap_action not in (Mex.ACTION_13, Mex.ACTION_2005):
48-
raise ValueError("Unsupported soap action: %s" % soap_action)
48+
raise ValueError("Unsupported soap action: %s. "
49+
"Contact your administrator to check your ADFS's MEX settings." % soap_action)
4950
data = _build_rst(
5051
username, password, cloud_audience_urn, endpoint_address, soap_action)
5152
resp = http_client.post(endpoint_address, data=data, headers={

0 commit comments

Comments
 (0)