This chapter covers Microsoft Entra External Identities, specifically B2B (business-to-business) and B2C (business-to-consumer) collaboration. These are core identity solutions that enable organizations to securely share resources with external users—partners, customers, or citizens—without managing their credentials. On the SC-900 exam, this topic appears in roughly 5–10% of questions under objective 2.1, focusing on the differences between B2B and B2C, when to use each, and key features like guest user access, identity providers, and custom policies. Understanding these distinctions is critical for scenarios involving cross-organization collaboration and customer-facing applications.
Jump to a section
Think of Microsoft Entra External Identities as a building's access control system. For B2B (business-to-business), imagine two companies sharing an office floor. Company A (your tenant) issues a temporary staff badge to a visiting employee from Company B. The badge is linked to Company B's own HR system—Company A doesn't manage the visitor's personal details or credentials. The visitor uses their own company badge to enter, and the system checks their identity against a trusted federation (like a reciprocal agreement). They get access only to specific rooms (apps/resources) based on their badge’s permissions. For B2C (business-to-consumer), imagine a theme park. Visitors (consumers) buy a ticket—they can use their own social login (like Google or Facebook) or create a new account with an email. The park's system (your tenant) manages the entire identity lifecycle: sign-up, sign-in, password reset, profile edits. The park doesn't federate with the visitor's home organization—it's a completely separate identity store. The visitor gets a 'fast pass' (access token) that allows them on rides (applications) for a limited time. If they misbehave, the park revokes the pass, but the visitor's home identity (e.g., Google account) is unaffected. B2B is about federated trust between organizations; B2C is about self-service identity management within your own tenant.
What Are Microsoft Entra External Identities?
Microsoft Entra External Identities is a suite of identity and access management (IAM) solutions designed for external user scenarios. It includes two primary capabilities: Microsoft Entra B2B (business-to-business) and Microsoft Entra B2C (business-to-consumer). Both allow external users to access your applications and resources, but they differ fundamentally in architecture, trust model, and management scope.
B2B enables secure collaboration with partners, vendors, or any external organization. External users are represented as *guest users* in your Microsoft Entra tenant. They authenticate using their own organization's identity (e.g., their work or school account) or any identity provider you configure. You do not need to manage their credentials; you only grant them access to specific resources.
B2C is a separate identity service for customer-facing applications. It provides a customizable sign-up and sign-in experience for consumers, citizens, or clients. B2C uses its own identity store—a dedicated tenant that is separate from your corporate Microsoft Entra tenant. You can configure social identity providers (Google, Facebook, Apple) or local accounts (email/password).
How B2B Works Internally
B2B collaboration relies on federation and invitation redemption. When you invite an external user, Microsoft Entra sends an email with a link. The user clicks the link and authenticates at their home identity provider. After successful authentication, Microsoft Entra creates a *guest user object* in your tenant with UserType = "Guest". This object contains minimal information (display name, email, home tenant ID). The user does not have a password in your tenant—authentication is always delegated to their home IdP.
Redemption process: 1. Inviter sends invitation via Azure portal, PowerShell, or Microsoft Graph. 2. User receives email with redemption link (or clicks a direct link to an app). 3. User authenticates at their home IdP (e.g., contoso.com). 4. Microsoft Entra validates the token and creates/updates the guest user object. 5. User is redirected to the target application with an access token.
Token issuance: When the guest user accesses a resource, Microsoft Entra issues an access token that includes claims from both the home tenant (e.g., object ID) and the resource tenant (e.g., tenant ID). The resource application uses this token to authorize access. The token lifetime is configurable (default: 60–90 minutes for access tokens, up to 1 day for refresh tokens).
Cross-tenant access settings: You can configure inbound and outbound trust settings to control which external tenants can access your resources and which of your users can access external tenants. These settings include: - B2B direct connect: Allows Teams Connect shared channels without explicit invitation. - Trust settings: You can trust MFA and device claims from the home tenant. - Automatic redemption: Users can skip the initial consent prompt if trust is established.
How B2C Works Internally
B2C is a separate Azure service (not a feature of your corporate tenant). You create a B2C tenant (e.g., contoso.b2clogin.com) that acts as an identity provider for your customers. It stores user profiles in its own directory, separate from your corporate tenant. B2C uses custom policies (Identity Experience Framework) or user flows to define the sign-up/sign-in experience.
User flow example (sign-up/sign-in): 1. User navigates to your application and clicks "Sign up / Sign in". 2. Application redirects to the B2C tenant endpoint (e.g., https://contoso.b2clogin.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize...). 3. B2C presents a page where the user can choose an identity provider (Google, Facebook, local account). 4. If local account, user enters email and password; B2C validates against its directory. 5. If social IdP, user authenticates at that provider; B2C receives an ID token. 6. B2C creates or updates the user profile in its directory (attributes like name, city, etc.). 7. B2C issues an ID token and access token to the application.
Token issuance: B2C issues JSON Web Tokens (JWT) signed by the B2C tenant. The token includes claims defined in the policy (e.g., objectId, email, custom attributes). Token lifetimes are configurable via policy (default: access token 1 hour, ID token 1 hour, refresh token up to 90 days if sliding window enabled).
Custom policies: For advanced scenarios, B2C allows XML-based policies that define the exact claims, API connectors, and multi-step journeys. For example, you can collect additional user attributes during sign-up, validate them against an external system, or require MFA via SMS or email.
Key Components, Values, Defaults, and Timers
B2B:
- Guest user object: Created in your tenant; UserType = "Guest"; no password.
- Invitation link: Expires after 48 hours by default (configurable via PowerShell Set-MgUser).
- Cross-tenant access settings: Default: no trust; all external tenants blocked unless explicitly allowed.
- B2B direct connect: Requires setting up cross-tenant trust; supports Teams Connect shared channels.
- Automatic redemption: If enabled, users skip the consent screen.
- MFA trust: If you trust MFA from the home tenant, guest users don't need to re-register MFA in your tenant.
B2C: - B2C tenant: Separate resource; must be created in the same region as your application. - User flows: Predefined (sign-up/sign-in, profile editing, password reset) or custom (Identity Experience Framework). - Identity providers: Local accounts (email/password), social (Google, Facebook, Apple, Microsoft, GitHub, etc.), SAML/WS-Fed IdPs. - Token lifetimes: Access token default 1 hour; refresh token up to 90 days (sliding window). - Session management: Configurable session lifetimes (default: 24 hours for web app, 90 days for mobile). - Custom attributes: Up to 100 custom attributes per B2C tenant (extend user schema).
Configuration and Verification Commands
B2B – Invite a guest user via PowerShell:
New-MgInvitation -InvitedUserEmailAddress "user@partner.com" -InviteRedirectUrl "https://myapp.contoso.com" -SendInvitationMessage:$trueB2B – List guest users:
Get-MgUser -Filter "userType eq 'Guest'"B2C – Create a user flow via Azure CLI:
az rest --method post --uri "https://management.azure.com/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.AzureActiveDirectory/b2cDirectories/{b2c-tenant}/policies?api-version=2020-05-01-preview" --body @policy.jsonB2C – Test sign-in: Use the "Run user flow" option in Azure portal to simulate authentication.
How B2B and B2C Interact with Related Technologies
Microsoft Entra ID (Azure AD): B2B runs on top of your existing Microsoft Entra tenant. Guest users are stored in the same directory but have UserType = "Guest". B2C is a separate tenant; it does not share user objects with your corporate tenant.
Conditional Access: For B2B, you can apply Conditional Access policies to guest users (e.g., require MFA for external access). For B2C, Conditional Access is available via integration with Microsoft Entra ID Protection (premium P2 required).
Microsoft Graph: Both B2B and B2C support Microsoft Graph APIs for user management. B2B uses the /users endpoint; B2C uses the /users endpoint of the B2C tenant.
Azure AD B2C is not a feature of Azure AD: It is a separate service with its own pricing, portal, and management plane. Do not confuse them on the exam.
Invite a B2B guest user
The inviter (admin or user with Guest Inviter role) sends an invitation via Azure portal, Microsoft Entra admin center, PowerShell, or Microsoft Graph. The invitation includes the guest's email address and a redirect URL. Microsoft Entra generates a unique redemption link and sends an email notification. The link expires in 48 hours by default. The guest user object is not created until the guest redeems the invitation.
Guest redeems invitation
The guest clicks the redemption link in the email. Microsoft Entra redirects the guest to their home identity provider (e.g., work/school account, Microsoft account, or Google). The guest authenticates. After successful authentication, Microsoft Entra validates the token and creates a guest user object in the resource tenant with UserType = 'Guest'. The guest is then redirected to the target application.
Guest accesses resource
The guest's browser or app requests access to a resource (e.g., a SharePoint site, app, or API). Microsoft Entra issues an access token that includes claims from both the home tenant (e.g., object ID) and the resource tenant (e.g., tenant ID). The resource application validates the token and checks authorization (e.g., via app roles or group membership). If the guest has permissions, access is granted.
Create B2C user flow
An administrator creates a user flow in the B2C tenant via Azure portal. The user flow defines the sign-up/sign-in experience, including which identity providers to use (local, social, SAML), attributes to collect (e.g., name, city), and token claims. The user flow is assigned to an application. The B2C tenant generates endpoints for the user flow (e.g., authorize, token).
User signs up/signs in via B2C
The user navigates to the application and clicks sign-in. The application redirects to the B2C tenant's user flow endpoint. B2C presents the login page. The user selects an identity provider (e.g., Google). B2C redirects to Google for authentication. Google returns an ID token to B2C. B2C validates the token, creates or updates the user profile in its directory, and issues an ID token and access token to the application. The user is now signed in.
Enterprise Scenario 1: Partner Collaboration with B2B
A manufacturing company, Contoso, needs to share project documents and applications with its supply chain partners. Contoso uses Microsoft 365 and has a Microsoft Entra tenant. Partners have their own Microsoft Entra tenants (e.g., Fabrikam). Contoso wants to grant Fabrikam employees access to a SharePoint Online site and a custom ERP app without managing their accounts.
Solution: Contoso uses Microsoft Entra B2B to invite Fabrikam users as guests. Contoso configures cross-tenant access settings to trust Fabrikam's MFA and device compliance claims. This way, Fabrikam employees use their own corporate credentials and MFA; Contoso does not need to issue separate tokens or enforce its own MFA. The guest users are added to a security group that grants access to the SharePoint site and the ERP app via app roles.
Common issues: If cross-tenant trust is not configured, guests are prompted to accept permissions each time. If the invitation link expires (48 hours), the guest must request a new invitation. If the partner's domain is not verified, the invitation may be blocked. Performance is generally good, but token validation can add latency if the home tenant is geographically distant.
Enterprise Scenario 2: Customer-Facing App with B2C
A retail company, Northwind, builds a customer loyalty application. Customers can sign up using their Google or Facebook accounts or create a local account with email and password. Northwind needs to collect custom attributes (e.g., loyalty tier, birthday) and enforce MFA for high-value transactions.
Solution: Northwind creates a B2C tenant and configures user flows for sign-up/sign-in and profile editing. They integrate Google and Facebook as social identity providers. For MFA, they enable SMS or email one-time passcode in the user flow. They use custom policies to collect additional attributes during sign-up and store them in the B2C directory. The application uses the B2C tokens to authorize access to APIs.
Common issues: If the B2C tenant is in a different region than the application, latency increases. If custom policies are misconfigured, the sign-up flow may break. Token size can become large if many custom claims are added, potentially exceeding header size limits. B2C pricing is based on monthly active users (MAUs); high-traffic apps can incur significant costs.
Scenario 3: Government Citizen Portal with B2C
A government agency provides an online portal for citizens to access tax records and apply for permits. Citizens must authenticate using their social security number (SSN) and a password. The agency needs to comply with identity assurance Level 2 (IAL2) requirements.
Solution: The agency uses B2C with custom policies to enforce identity verification. They integrate with a third-party identity proofing service via API connectors. During sign-up, the user enters their SSN and other PII; B2C calls the proofing service to validate the identity. After successful proofing, the account is created. B2C also enforces MFA via SMS. The agency uses Conditional Access (via Premium P2) to block access from suspicious IP addresses.
Common issues: Identity proofing adds latency; the sign-up flow may timeout if the API connector takes too long. B2C's default session timeout may be too short for long forms. Compliance with government standards requires careful configuration of token lifetimes and audit logging.
Exactly What SC-900 Tests
Objective 2.1: Describe the capabilities of Microsoft Entra ID. Under this, you need to understand the difference between B2B and B2C, their use cases, and key features. The exam does NOT require deep configuration steps (e.g., PowerShell commands) but expects you to know:
What B2B and B2C are used for.
How guest users are created and managed (invitation, redemption).
The difference in trust model: B2B uses federation with existing identities; B2C uses its own identity store.
Supported identity providers: for B2B (Microsoft accounts, work/school accounts, Google, SAML/WS-Fed IdPs); for B2C (local accounts, social IdPs, SAML/WS-Fed IdPs).
Key features: cross-tenant access settings, B2B direct connect, user flows, custom policies.
Licensing: B2B is free for basic features (invite up to 5 guests per paid user, but no limit on guests); B2C is pay-as-you-go based on MAUs.
Common Wrong Answers and Why
"B2C is a feature of Azure AD" – Wrong. B2C is a separate service, not a feature of your corporate tenant. Candidates confuse it because both are under "External Identities" in the portal.
"B2B requires the guest to have an Azure AD account" – Wrong. Guests can use any email address (including personal accounts like Gmail) or social identity. The guest does not need an Azure AD account.
"B2C supports federation with other Azure AD tenants" – Wrong. B2C is designed for consumers, not for organizational federation. It can accept SAML/WS-Fed from any IdP, but it's not the same as B2B's cross-tenant trust.
"B2B and B2C both store user passwords in your tenant" – Wrong. B2B does not store passwords; it delegates authentication. B2C stores passwords for local accounts only.
Specific Numbers and Terms on the Exam
Guest user UserType: "Guest".
Invitation link expiration: 48 hours (default).
B2C token lifetimes: Access token 1 hour default.
B2C identity providers: Local, Google, Facebook, Apple, Microsoft, GitHub, SAML/WS-Fed.
B2B identity providers: Microsoft account, Azure AD, Google, SAML/WS-Fed.
Cross-tenant access settings: Inbound and outbound trust.
B2B direct connect: For Teams Connect shared channels.
Edge Cases and Exam Traps
Automatic redemption: If enabled, guests skip the consent screen. The exam may ask what happens when a guest accesses a resource for the first time.
Conditional Access for guests: Can be applied, but MFA trust from home tenant may avoid re-prompt.
B2C custom policies vs. user flows: User flows are simpler; custom policies are XML-based for complex scenarios. The exam may ask which to use for a specific requirement (e.g., collect custom attributes).
How to Eliminate Wrong Answers
If the scenario involves *partners* or *employees from another company*, it's B2B.
If the scenario involves *customers* or *consumers* signing up with social accounts, it's B2C.
If the question mentions *guest users*, it's B2B.
If the question mentions *user flows* or *sign-up policies*, it's B2C.
If the question asks about *password storage*, B2C stores passwords for local accounts; B2B does not.
B2B is for partner collaboration; B2C is for customer-facing apps.
B2B uses guest users in your existing Microsoft Entra tenant; B2C uses a separate tenant with its own user directory.
B2B guests authenticate at their home IdP; B2C users authenticate via local accounts or social IdPs managed by B2C.
B2B invitation link expires in 48 hours by default.
B2C user flows define sign-up/sign-in experiences; custom policies allow advanced scenarios.
B2B supports cross-tenant access settings to trust MFA and device claims from partner tenants.
B2C supports social identity providers: Google, Facebook, Apple, Microsoft, and GitHub.
B2C pricing is based on monthly active users (MAUs); B2B is free for basic features but requires Azure AD P1/P2 for premium.
B2B direct connect enables Teams Connect shared channels without explicit invitations.
B2C custom attributes can extend user profiles up to 100 additional attributes.
These come up on the exam all the time. Here's how to tell them apart.
Microsoft Entra B2B
Used for partner collaboration (business-to-business).
Runs in your existing Microsoft Entra tenant.
External users are guest users (UserType='Guest').
Authentication delegated to the user's home identity provider (federation).
No separate identity store; user object created in your tenant.
Invitation-based onboarding (email or direct link).
Identity providers: Azure AD, Microsoft account, Google, SAML/WS-Fed.
Free for basic features; premium features require Azure AD P1/P2 licenses.
Supports cross-tenant access settings and B2B direct connect.
Microsoft Entra B2C
Used for customer-facing applications (business-to-consumer).
Runs in a separate B2C tenant (e.g., contoso.b2clogin.com).
Users are customer accounts stored in the B2C directory.
B2C manages authentication itself (local accounts) or via social IdPs.
Separate identity store; no user objects in your corporate tenant.
Self-service sign-up via user flows or custom policies.
Identity providers: Local (email/password), Google, Facebook, Apple, Microsoft, GitHub, SAML/WS-Fed.
Pay-as-you-go pricing based on monthly active users (MAUs).
Supports custom policies, API connectors, and Conditional Access (premium).
Mistake
B2C is just B2B for consumers
Correct
B2C is a separate Azure service with its own tenant, identity store, and pricing. B2B runs in your existing Microsoft Entra tenant and uses guest user objects. They are architecturally different.
Mistake
B2B guests must have an Azure AD account
Correct
B2B guests can use any email address (including personal Gmail, Yahoo, etc.) or social identity (Google, Facebook). They do not need an Azure AD account.
Mistake
B2C can federate with other Azure AD tenants
Correct
B2C can accept SAML/WS-Fed from any identity provider, but it is not designed for cross-tenant trust like B2B. B2C's federation is for social or enterprise IdPs, not for organizational collaboration.
Mistake
B2B and B2C both require the external user to accept an invitation
Correct
B2B requires an invitation (or direct link) to create a guest user. B2C does not use invitations; users sign up themselves via user flows.
Mistake
B2B is free for unlimited guest users
Correct
B2B is free for basic features (inviting guests and using Azure AD features). However, premium features like Conditional Access require Azure AD P1/P2 licenses for the inviting tenant. There is no per-guest license fee, but you must have a paid Azure AD license for every 5 guest users (or per paid user in your tenant).
Reveal each answer, then mark whether you got it right. Score 60%+ to unlock the next chapter.
B2B (business-to-business) is for collaborating with external partners using their own identities. External users become guest users in your Microsoft Entra tenant. B2C (business-to-consumer) is for customer-facing applications, with users signing up via social or local accounts in a separate B2C tenant. The main differences: B2B uses federation with existing identities; B2C manages its own identity store. B2B is free for basic features; B2C is pay-as-you-go.
Yes, if you configure cross-tenant access settings to trust MFA from the guest's home tenant. In that case, the guest does not need to register MFA in your tenant. If you don't trust MFA, you can enforce your own MFA policy via Conditional Access.
You can invite a guest user via the Azure portal (Microsoft Entra ID > Users > New guest user), Microsoft Entra admin center, PowerShell (New-MgInvitation), or Microsoft Graph. The invitation includes the guest's email and a redirect URL. The guest receives an email with a redemption link that expires in 48 hours.
B2C supports local accounts (email/password or username/password) and social identity providers: Google, Facebook, Apple, Microsoft, GitHub, and any SAML/WS-Fed identity provider. You can configure multiple IdPs in a single user flow.
Yes, but it requires Microsoft Entra ID Protection (Premium P2 license). You can integrate Conditional Access policies to block sign-ins from risky IP addresses or require MFA. Policies are applied at the B2C tenant level.
B2B direct connect is a feature that allows Teams Connect shared channels without explicit invitation. It requires cross-tenant trust settings. Users from a trusted tenant can access shared channels directly using their own credentials.
B2C pricing is based on monthly active users (MAUs). The first 50,000 MAUs per month are free. After that, you pay per MAU (tiered pricing). Additional charges apply for SMS MFA and premium features like Conditional Access.
You've just covered Microsoft Entra External Identities: B2B and B2C — now see how well it sticks with free SC-900 practice questions. Full explanations included, no account needed.
Done with this chapter?