Inviting a consumer user to Azure AD B2C has been covered by other Stack Overflow questions & answers, and AFAIK requires the use of custom policies that entail a signed JWT being created and used during invite redemption.
What I'm trying to figure out: In our application, we have differently permissioned user groups and different organisations managed by internal RBAC logic. We identify & authorize users based on their oid
claim in the access token that's returned to msal-react
/msal-browser
and used to authenticate against our backend's API.
In Microsoft Graph, a user can be invited and the API will respond with the created user's oid
. However, this is the wrong type of user and not appropriate for B2C scenarios.
With the custom policy route not creating the user object in AAD B2C at the time of invite, and therefore without knowing the user's oid
at the time of inviting them to the application, what might be the best way to configure their in-app profile and have them identifiable to the application itself upon first login?
My thought at the moment is to have the application store the emails of users that are invited who have not yet redeemed/signed-in. We can configure the emails
claim to be returned upon login, which is checked against the invited emails store when an oid
claim is returned that isn't present in the database. This can then trigger a function to update the user's internal id with the oid
in their first login's claim.
If this is inadvisable or if there's a better way, I'd be very grateful to hear it.