Hello @Nitin Ambupe · Thank you for reaching out.
Looking at the screenshots you have provided above, I see two problems:
- You have labeled the social IDP buttons as "Sign up with Google" and "Sign up with Facebook". Once the user signs up, the same buttons can be used for sign-in as well, which might confuse the consumer of the app.
- The second screenshot is to signup for local accounts, but there is no option for the local users to sign in.
I would suggest you to use 2 pages:
- Sign in page, which includes option for local users to sign in and all the social IDP buttons as you can't segregate signup and sign in process for social IDPs. Same IDP button is used for both signup and sign in. After initial signup, users will only be using these buttons for sign in.
- Sign up page, which just presents the users with a form to sign up for local accounts.
For this purpose, deploy LocalandSocialAccounts starter pack. You can then use "setting.showSignupLink" item key as shown below to hide the Sign up now link so that users can use the policy only for sign in purpose.
<ContentDefinition Id="api.signuporsignin">
<LoadUri>~/tenant/templates/AzureBlue/unified.cshtml</LoadUri>
<RecoveryUri>~/common/default_page_error.html</RecoveryUri>
<DataUri>urn:com:microsoft:aad:b2c:elements:unifiedssp:1.1.0</DataUri>
<Metadata>
<Item Key="DisplayName">Signin</Item>
<Item Key="setting.showSignupLink">false</Item>
</Metadata>
</ContentDefinition>
You can then create a SignUP user journey as mentioned below that you can point to, in your RP file e.g. B2C_1A_SignUp which can be used for sign up only.
<UserJourney Id="SignUp">
<OrchestrationSteps>
<OrchestrationStep Order="1" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="SignUpWithLogonEmailExchange" TechnicalProfileReferenceId="LocalAccountSignUpWithLogonEmail" />
</ClaimsExchanges>
</OrchestrationStep>
<!-- This step reads any user attributes that we may not have received when in the token. -->
<OrchestrationStep Order="2" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="AADUserReadWithObjectId" TechnicalProfileReferenceId="AAD-UserReadUsingObjectId" />
</ClaimsExchanges>
</OrchestrationStep>
<OrchestrationStep Order="3" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="JwtIssuer" />
</OrchestrationSteps>
<ClientDefinition ReferenceId="DefaultWeb" />
</UserJourney>
-----------------------------------------------------------------------------------------------------------
Please "Accept the answer" if the information helped you. This will help us and others in the community as well.