Using OpenID Connect with User Flows in Azure B2C

AI-generated summary

The discussion revolves around using OpenID Connect with User Flows in Azure B2C for SSO. TechGeek notes that the email claim is not populated in the user dialog when using standard user flows, as it returns as a string collection labeled “emails” rather than a standard “email” field. Despite setting the scope to openid emails, the issue persists. david clarifies that the plugin requires a standards-compliant OIDC service, where the email should be in an “email” field, and mentions that a custom policy can achieve this, though it’s not applicable to user flows. TechGeek confirms the workaround works with custom policies but expresses a preference for the simpler user flows. ufukayyildiz corrects the scope parameter, noting it should be openid email instead of openid emails.

Discourse OpenID Connect (OIDC)

Does above steps works with User flows in Azure B2C, which are pre-built policy for use cases.

Email address doesn’t get populated in the new user dialog when the authorization is returned. Using a standard user flow to manage the sign-up experience, but the claim is returning something labeled as “emails” and it’s a stringcollection, not a single email.

Setting up openid_connect_authorize_scope to openid emails also doesn’t work.

This plugin is built to work with standards-compliant OIDC services. That means the email should be returned in an “email” field.

If you check the “Azure B2C” section in the first post of this topic, there are some community-provided instructions for setting up a “custom policy” which puts the email address in a standards-compliant location. I’m afraid I’m not familiar enough with Azure B2C to know whether that will work with the “user flows” feature.

Thank you @david, it works with custom policy, was hoping to go with much easier route of User flows, but that is out of our control to change.

Few of the suggestions for plugin:

  • Both Sign and Signup button redirect user to login page, in Azure B2C different page can be shown by appending parameter

it should be openid email