SAML Sign-On
Number of APIs: 12
This activity shows you how to create a basic PingOne sign-on flow for a SAML application.
Note: This solution uses group access control properties set on the application. This is associated with a PingOne group to control access. The request descriptions for creating the SAML application and the user group provide more details on how to configure access control in this workflow. For general information about access control, see Control access to applications through roles and groups.
The following operations are supported by the PingOne APIs:
- Create a group
- Create a SAML application
- Create a sign-on policy
- Create a login sign-on policy action
- Create a user
- Initiate a SAML authorize request
- Use flow APIs to complete the login
Workflow order of operations
To configure a basic PingOne sign-on flow for a SAML application, you must complete the following tasks:
- Make a - POSTrequest to- /environments/{{envID}}/groupsto create a new group resource.
- Make a - POSTrequest to- /environments/{{envID}}/applicationsto add a new SAML application to the specified environment.
- Make a - POSTrequest to- /environments/{{envID}}/signOnPoliciesto create a new sign-on policy.
- Make a - POSTrequest to- /environments/{{envID}}/signOnPolicies/{{signOnPolicyID}}/actionsto define the login action associated with this sign-on policy.
- Make a - POSTrequest to- /environments/{{envID}}/applications/{{appID}}/signOnPolicyAssignmentsto associate the sign-on policy with the application.
- Make a - POSTrequest to- /environments/{{envID}}/populationsto create a new population resource.
- Make a - POSTrequest to- /environments/{{envID}}/usersto create a user to assign to the new population resource.
- Make a - PUTrequest to- /environments/{{envID}}/users/{{userID}}/passwordto set the new user's password.
- Make a - POSTrequest to- /{{envID}}/saml20/idp/ssoto obtain an authorization grant. This request starts the SAML authorization flow.
- Make a - GETrequest to- /{{envID}}/flows/{{flowID}}to initiate the sign-on flow.
- To complete the login action, make a - POSTrequest to- /{{envID}}/flows/{{flowID}}and provide the user's login credentials.
- Make a - GETrequest to- /{{envID}}/saml20/resume?flowId={{flowID}}to call the SAML resume endpoint and return an encoded- SAMLResponse.
We highly recommend that you use our Qodex collection for this workflow. The collection also contains the accompanying Qodex environment template, making it easy for you to use and save variable values. For more information about using Qodex environments, see The PingOne Qodex environment template.
- 
Step 1: Create a group POST {{apiPath}}/environments/{{envID}}/groups 
- 
Step 3: Create the sign-on policy POST {{apiPath}}/environments/{{envID}}/signOnPolicies 
- 
Step 4: Create the sign-on policy action POST {{apiPath}}/environments/{{envID}}/signOnPolicies/{{samlPolicyID}}/actions 
- 
Step 5: Assign the sign-on policy to an application POST {{apiPath}}/environments/{{envID}}/applications/{{samlAppID}}/signOnPolicyAssignments 
- 
Step 6: Create a population POST {{apiPath}}/environments/{{envID}}/populations 
- 
Step 7: Create a user POST {{apiPath}}/environments/{{envID}}/users 
- 
Step 8: Set user password PUT {{apiPath}}/environments/{{envID}}/users/{{samlUserID}}/password 
- 
Step 9: Submit SAML sign-on request POST {{authPath}}/{{envID}}/saml20/idp/sso 
- 
Step 12: Call the SAML resume endpoint GET {{authPath}}/{{envID}}/saml20/resume?flowId={{flowID}} 
- 
Step 2: Create a SAML application POST {{apiPath}}/environments/{{envID}}/applications