dotnet / dotnet/blazor-samples

Extra error trapping for Entra BFF sample?

Open
#535 2 comments 0 reactions 1 assignee Claimed by @guardrex View on GitHub
Enhancement
Dominant language
HTML
Stars
1.1k
Forks
859
PR merge metrics
No merged PRs in 30d

Description

We might want a bit more error trapping ...

https://github.com/dotnet/blazor-samples/blob/main/9.0/BlazorWebAppEntraBff/BlazorWebAppEntra/Program.cs#L153-L155

@halter73 @mikekistler Does adding [`ReplyForbiddenWithWwwAuthenticateHeaderAsync`](https://learn.microsoft.com/en-us/dotnet/api/microsoft.identity.web.itokenacquisition.replyforbiddenwithwwwauthenticateheaderasync?view=msal-model-dotnet-latest) trapping on [`MicrosoftIdentityWebChallengeUserException`](https://learn.microsoft.com/en-us/dotnet/api/microsoft.identity.web.microsoftidentitywebchallengeuserexception.msaluirequiredexception) and [`MsalUiRequiredException`](https://learn.microsoft.com/en-us/dotnet/api/microsoft.identity.web.microsoftidentitywebchallengeuserexception.msaluirequiredexception?view=msal-model-dotnet-latest) make sense to roll into ☝️ of the Entra BFF sample?

Something like ...

```csharp
string accessToken;

try
{
accessToken = await tokenAcquisition.GetAccessTokenForUserAsync(
scopes, user: httpContext.User);
}
catch (MicrosoftIdentityWebChallengeUserException exception)
{
await tokenAcquisition.ReplyForbiddenWithWwwAuthenticateHeaderAsync(
exception.Scopes, exception.MsalUiRequiredException, httpContext.Response);
return;
}
catch (MsalUiRequiredException exception)
{
await tokenAcquisition.ReplyForbiddenWithWwwAuthenticateHeaderAsync(
scopes, exception, httpContext.Response);
return;
}

if (!string.IsNullorEmpty(accessToken))
{
transformContext.ProxyRequest.Headers.Authorization = new("Bearer", accessToken);
}
```

---
#### Issue Details

⚠ *Do not edit this section. It is required for issue processing.*

* Content Source: [dotnet/blazor-samples](https://github.com/dotnet/blazor-samples)
* GitHub Login: @guardrex

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.