Jump to: navigation, search

Difference between revisions of "HowTo:Integrate UBIK in an SSO Environment"


(Client)
Line 8: Line 8:
 
<!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED -->
 
<!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED -->
  
The customer's Identity Provider must know {{{UBIK}}} as a Service Provider. We need to provide an SSO mediator server in order to relay SSO responses for the client; this is our ACS (Assertion Consumer Service).
+
The customer's Identity Provider must know {{UBIK}} as a Service Provider. We need to provide an SSO mediator server in order to relay SSO responses for the client; this is our ACS (Assertion Consumer Service).
  
 
There are two major use-cases for SSO:
 
There are two major use-cases for SSO:
Line 14: Line 14:
 
* Authorization: Interaction with external systems (interfacing)
 
* Authorization: Interaction with external systems (interfacing)
  
In order to configure {{{UBIK}}} for SSO integration, we need to address both.
+
In order to configure {{UBIK}} for SSO integration, we need to address both.
  
 
== Authentication ==
 
== Authentication ==
* In the UBIK client profile, adjust the SSO relevant settings (enabling SSO and specifying the Identity Provider Endpoint URL for an IdP-initiated flow).
+
* In the {{UBIK}} client profile, adjust the SSO relevant settings (enabling SSO and specifying the Identity Provider Endpoint URL for an IdP-initiated flow).
 
* On the server side, make sure that an SSO Processor is configured able to process the responses from the Identity Provider.
 
* On the server side, make sure that an SSO Processor is configured able to process the responses from the Identity Provider.
  
 
== Authorization ==
 
== Authorization ==
When a {{{UBIK}}} object is synchronized between client and server, the {{{UBIK}}} customizing can interact with external systems. There, we might require authorization, and we need to make sure the client provides a respective token. In order to do so, we have to identify the specific authorization use-cases:
+
When a {{UBIK}} object is synchronized between client and server, the {{UBIK}} customizing can interact with external systems. There, we might require authorization, and we need to make sure the client provides a respective token. In order to do so, we have to identify the specific authorization use-cases:
 
* For which types of objects (meta classes) do I need to interact with external systems, requiring SSO authorization?
 
* For which types of objects (meta classes) do I need to interact with external systems, requiring SSO authorization?
 
* For which synchronization operations (e.g., update, commit, create, etc.) do I need authorization?
 
* For which synchronization operations (e.g., update, commit, create, etc.) do I need authorization?

Revision as of 12:00, 13 July 2021

Single Sign On (SSO) allows an end-user to interact with multiple services without logging in more than once.

This page shows how to integrate UBIK® into such an SSO environment.


[edit]

Instructions

The customer's Identity Provider must know UBIK® as a Service Provider. We need to provide an SSO mediator server in order to relay SSO responses for the client; this is our ACS (Assertion Consumer Service).

There are two major use-cases for SSO:

  • Authentication: Establishing or re-using an SSO session (logging in)
  • Authorization: Interaction with external systems (interfacing)

In order to configure UBIK® for SSO integration, we need to address both.

Authentication

  • In the UBIK® client profile, adjust the SSO relevant settings (enabling SSO and specifying the Identity Provider Endpoint URL for an IdP-initiated flow).
  • On the server side, make sure that an SSO Processor is configured able to process the responses from the Identity Provider.

Authorization

When a UBIK® object is synchronized between client and server, the UBIK® customizing can interact with external systems. There, we might require authorization, and we need to make sure the client provides a respective token. In order to do so, we have to identify the specific authorization use-cases:

  • For which types of objects (meta classes) do I need to interact with external systems, requiring SSO authorization?
  • For which synchronization operations (e.g., update, commit, create, etc.) do I need authorization?
  • Which IdP endpoint is used in this case?

For each resulting combination we have to create an External Auth Config object and give it to the client in the infrastructure list.

Further, we have to make sure the authorization tokens can be transported to the server. Therefore, add the External Entity Classification to all meta classes of objects that need external authorization.

Studio

Client

  • Set up an SSO mediator backend server to relay SSO responses to the client
  • Configure the SSO profile settings respectively

See also