B2C App vs Enterprise App questions

ScottM 331 Reputation points
2020-07-16T17:56:44.507+00:00

It's my understanding that azure enterprise app is intended for users of an azure active directory associated with a given subscription.
What does the relying party app JWT token look like as far as claims? Is it customizable?
What API is used by relying party app to retrieve / update user info?

It's my understanding that B2C app is intended for external / federated / users.
What does the relying party app JWT token look like as far as claims? Is it customizable?
What API is used by relying party app to retrieve / update user info?

Trying to understand what all is involved in migrating a SPA web app from an enterprise app to a b2c app and the amount of work.

Microsoft Entra External ID
Microsoft Entra External ID
A modern identity solution for securing access to customer, citizen and partner-facing apps and services. It is the converged platform of Azure AD External Identities B2B and B2C. Replaces Azure Active Directory External Identities.
3,021 questions
0 comments No comments
{count} votes

Accepted answer
  1. Alfredo Revilla - Upwork Top Talent | IAM SWE SWA 27,491 Reputation points
    2020-07-16T18:32:55.947+00:00

    Enterprise apps do not have to be associated with a subscription. Azure AD B2C apps model is becoming one with Azure AD apps model. Currently they are pretty similar with some minor differences. Due this you can manage them using the same tools (AzureAD powershell, MS Graph) and use the same SDKs (MSAL, Microsoft Identity Web). Tokens are pretty similar too, take a look to Microsoft identity platform ID tokens, Microsoft identity platform access tokens and Overview of tokens in Azure Active Directory B2C.

    The immediate differences when migrating will be the authorization, token and metadata endpoints:

    Azure AD
    https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize
    POST https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
    https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration

    Azure AD B2C
    https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize
    https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/token
    https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration

    Also Azure AD B2C applications can only access a limited set of permissions for 2 built in API: MS Graph and AAD Graph (legacy). Azure AD apps on the other hand can request permissions for a bigger set of APIs. For both you can expose and create your own custom permissions.

    You can configure and issue custom claims with Azure B2B trough custom policies while Azure AD can issue optional claims and do claims mapping.

    Finally, regarding the user info, for Azure AD users and Azure AD B2C local users you can use MS Graph. For Azure AD B2C federated users you will have to use the ones provided by their identity provider.

    2 people found this answer helpful.
    0 comments No comments

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.