- Onboarding with Social Media – a new, anonymous user signs up using their preferred social account. Digital Identity Management uses details returned from the social provider to create the User ID.
- Authentication with Social Media – an anonymous user signs in using that account. The User ID already exists, and it the social account is already associated to the User ID.

How it works
When a user opts to onboard or authenticate with a specified social account provider, the Process redirects to the provider’s website wherein the user signs into their account. If this is the user’s first time (i.e., onboarding), then Digital Identity Management requests specific pieces of user data from the provider (i.e., name, email or mobile), and the provider asks the user for explicit permission to share those details. The provider then redirects back to Digital Identity Management and sends along an authorization code. Digital Identity Management immediately performs a second, back end call to redeem that code in exchange for the actual user data, along with additional internal data from the provider that will be used to create the association. Finally, Digital Identity Management redirects back to the front end application and passes along the user data, and application presents it to the user for them to confirm. Once the user confirms, Digital Identity Management uses that data to register the new User entity, and creates an internal association between the User and the social account. This internal association allows the user to easily authenticate into the service that uses Digital Identity Management as their Identity Provider (IdP). [product: dim]Prerequisite: how to enable social integrations
Out of the box, Digital Identity Management comes with support for integrations with the following social account providers:- Apple
- Microsoft
- Navigate to the Facebook Developer Portal, create an account, and sign in.
- Create an App ID (select the For Everything Else option).
- Enter the App Name.
- Add the Facebook Login product and select the Web platform.
- Facebook will then issue specific information required for the app integration. Make a note of the AppId and AppSecret.
- Add the end url (Amdocs managed or custom domain) to the Valid OAuth Redirect URIs. This is where Digital Identity Management will redirect to once it finishes it’s communication with the social provider.
- Navigate to the MarketONE Admin console, and sign in.
- Navigate to Settings > Social Connections, and toggle the Enable Facebook option.
- Add the AppId and AppSecret to the equivalent ClientId and ClientSecret fields.
- Click Save at the bottom of the page.

Adding Provider IDs to the Request URL
Like most Processes, this Process is initialized by the Process Start API. The Process Start API optionally consumes no payload but you can actually add the required parameters upfront in the initial API request URL. For example, in a normal invocation, the Process Start API consumes no payload:providerID. The response includes an array of provider options:
providerId in a subsequent Process Step API request:
providerId in the initial Process Start request URL:
providerID to the request URL enables you to build your application to display social media badges on the sign-in and/or sign-up screens. The client can then invoke the provider-specific variation of the Process when a user clicks on a provider-specific badge.
Responsive Process Design
This Process accounts for edge cases and user error scenarios wherein a user mistakenly begins at one flow’s starting point, but logistically should arrive at another flow’s end result. For example, a user with an existing User ID may mistakenly start from a client’s sign-up page. Alternatively, a user who has not yet onboarded starts on the sign-in page. Since the client UI invokes the exact same Process from either flow’s entry point, the communication between Digital Identity Management and the social provider ensures that the user arrives at the correct end point. The following conditions apply:- If the user details returned from the provider (i.e., email/mobile) are not found in Digital Identity Management, then the Process creates the new User entity. The user needs to confirm the details are correct. See the next section below for scenarios where the user changes the email/mobile before confirming.
- If the user details are found in Digital Identity Management on an existing User entity, but there is no existing association, then the Process prompts the user to sign in. Once the user signs in, the Process creates the association between the User entity and the social account.
- If the user details are found in Digital Identity Management on an existing User, and the social connection already exists, then the Process simply authenticates the end user.

Modifying the contact channel
When a user onboards with their social account, the social provider returns data to Digital Identity Management (and Digital Identity Management passes that data to the client) that the user must confirm. This includes an email address and/or mobile number. If the user confirms the email/mobile without changing it, then Digital Identity Management creates and activates the User entity. The user does not need verify the channel, as Digital Identity Management implicitly trusts the social provider. However, the Process does allow for the user to change the email/mobile that was returned by the provider. If the user changes the email/mobile, the Process performs an additional check to see if that new email/mobile is already registered to an existing Digital Identity Management User. If the modified email/mobile is not found on an existing User entity, then the Process issues and sends an action token in a verification message to that contact channel. The Process then ends, and the user must redeem that token with the GET session/token API to invoke Activate User Process to complete their onboarding journey. [product: dim]Process Flow - Onboarding
This section describes the Process at a high level, from an onboarding-oriented flow. Preconditions- The user is currently anonymous (i.e., they are not authenticated).
- The User ID does not yet exist (i.e., the Digital Identity Management User entity does not yet exist in the cloud data store).
- The user navigates to the application’s “Create an ID” or “Sign Up” portal, and enters their email and/or mobile number.
- The client UI redirects to the social provider, and the user authenticates into that provider’s service.
- The provider prompts the user with terms and conditions, and the details that the user needs to consent to sharing.
- If the user does not consent to sharing their information, the Process ends.
- The user consents to sharing their information, and the provider redirects back to Digital Identity Management.
- On the back end, the provider sends along an authorization code to Digital Identity Management. Digital Identity Management makes a separate back channel call to the provider and redeems that token for the user data. Digital Identity Management then checks the data store for any current User with a matching email/mobile.
- This flow assumes no matching User is found. Digital Identity Management redirects back to the client, and passes along the user data for the user to confirm.
- If a matching User is found, but there is no association to the social account, then the Digital Identity Management prompts the user to authenticate (i.e., provide a password) in order to prove that they own the matching email/mobile.
- If a matching User is found, and it is already associated to this social account, then Digital Identity Management simply authenticates the user and informs the front end.
- Digital Identity Management sends the provider data (name and email/mobile) to the client front end, and the UI prompts the user to confirm the details.
- When you enable and configure a social integration in MarketONE Admin, you’ll need to set a Redirect URL as a part of that configuration. This allows Digital Identity Management to know where it needs to redirect after acquiring user details from the social account provider.
- The user confirms the details from the provider. The Process creates the new User entity with an activated status, associates the user to the social account, and authenticates the user.
- This flow assumes that the user confirms the details from the provider. Digital Identity Management trusts the provider and automatically “activates” the User entity (and its authentication identifier).
- If the user changes the email or mobile number, and then submits that to the Process, then Digital Identity Management creates the User entity with an
activatingstatus. The Process then issues and sends an action token to that new email/mobile for verification. The user cannot authenticate until they verify (i.e., activate) the email/mobile.
- A new User exists in Digital Identity Management with a verified email and/or mobile.
- The user reaches the maximum number of failed input attempts. This is in the scenario where an existing User was found, and Digital Identity Management prompts the end user for a password.
- The user did not consent to share information.
- Invalid or unknown authN ID. User not found in the Digital Identity Management data store.
- The Digital Identity Management User (and/or the authN ID) is not yet verified.
Process Flow - Authentication
This section describes the Process at a high level, from an authentication-oriented flow. Preconditions- The user has a fully activated Digital Identity Management User ID, with an associated social account.
- The user is currently anonymous (i.e., they are not authenticated in Digital Identity Management).
- The user navigates to their sign in portal and selects to sign with their preferred social provider.
- The client UI redirects to the social provider, and the user authenticates into that provider’s service.
- The Process ends if the user fails to sign into their social account.
- During the initial association between the Digital Identity Management User and the social account, the user previously consented to sharing their provider scopes with Digital Identity Management. Therefore, the provider will typically (and silently) remember this consent before automatically redirecting the browser back to Digital Identity Management.
- The social provider redirects the user’s browser back to Digital Identity Management. Digital Identity Management authenticates and Digital Identity Management then redirects back to the client application.
- The user consents to sharing their information, and the provider redirects back to Digital Identity Management.
- On the back end, Digital Identity Management that the association between the User and the social account exist, and that the user data from the provider is still valid.
- Digital Identity Management authenticates the User (i.e., opens a user session in the cloud) and redirects back to the front end client application.
- When you enable and configure a social integration in MarketONE Admin, you’ll need to set a Redirect URL as a part of that configuration. This allows Digital Identity Management to know where it needs to redirect after authenticating the user.
- The User is authenticated.
- The client may want to run the
GET /userand any other entity management APIs to load the relevant user profile or otherwise “authenticated view” of the application.
- The selected social media is not supported at this time. This might occur if your organization disables an integration with a social provider, but the client still specifies that provider in the Process request.
- The user did not consent to share information. This occurs if the end user previously deleted their permissions that they gave to the social provider to share their data with Digital Identity Management (i.e., the consent they granted to the provider during the initial account association). If the user does this, the provider will re-prompt them for this consent during the Process execution. If the user rejects the prompt, then the Process ends, and Digital Identity Management will not authenticate them.
Settings
Certain aspects of the Process’ behavior are controlled by configurable settings. Your organization can manage these and other settings in the Admin Portal.User Journey Flow Diagram
This diagram illustrates the standard user journey using the Onboarding and Authenticate User with Social Account Process, and some of the paths the Process can take based on settings and/or user input. [product: dim]
[PUT /session/token](c_putSessionToken) API) and the Activate User Processes.
Use Cases
The following sub-topics provide guided walkthroughs of the Onboard and Authenticate User with Social Account Process:- Onboard a new user with their social account
- Authenticate an existing user with social account
- Social account errors
Additional Notes
- Digital Identity Management allows a user to have more than one social accounts associated to their User ID.
- Digital Identity Management sends a notification message to the user’s email/mobile that confirms when they have successfully associated a social account.
- If the social provider returns an email address and mobile number, and the user changes the value for each, then they will need to verify each channel separately. The Process will issue and send two separate action tokens, and send them to each channel. Additionally, the Process returns two separate PKATs to the client application.
- Digital Identity Management currently supports social associations with the following providers: Facebook, Google, Apple ID, and LinkedIn.
- Social onboarding
- Social authentication
- Social account errors

