Difference between revisions of "HowTo:Integrate UBIK in an SSO Environment"
(→Studio) |
|||
Line 31: | Line 31: | ||
With this, the {{UBIK}} session in the web service's {{UBIK}} Environment is tagged with the SSO token, and the customizing code can use it to interact with 3rd party systems. | With this, the {{UBIK}} session in the web service's {{UBIK}} Environment is tagged with the SSO token, and the customizing code can use it to interact with 3rd party systems. | ||
− | + | ||
− | + | ||
− | + | ||
= Studio = | = Studio = | ||
Line 42: | Line 42: | ||
=== Applying an SSO Processor === | === Applying an SSO Processor === | ||
− | === | + | |
+ | <div class="mw-collapsible mw-collapsed" style="width:100%; overflow:auto;"> | ||
+ | <div style="font-weight:bold;line-height:1.6;">OIDC</div> | ||
+ | <div class="mw-collapsible-content"> | ||
{{Version/ServerSince|4.6.0}}In the case of a periodic rolling of the signing key, use the DynamicOIDCProcessor which fetches the JWKS automatically via the base URL of the chosen OIDC Provider: | {{Version/ServerSince|4.6.0}}In the case of a periodic rolling of the signing key, use the DynamicOIDCProcessor which fetches the JWKS automatically via the base URL of the chosen OIDC Provider: | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
Line 71: | Line 74: | ||
You will need to insert the correct jwks from your OIDC Provider instead of "...". | You will need to insert the correct jwks from your OIDC Provider instead of "...". | ||
− | === | + | </div></div> |
− | <syntaxhighlight lang="csharp"> | + | |
+ | <div class="mw-collapsible mw-collapsed" style="width:100%; overflow:auto;"> | ||
+ | <div style="font-weight:bold;line-height:1.6;">SAML</div> | ||
+ | <div class="mw-collapsible-content"> | ||
+ | <syntaxhighlight lang="csharp"> | ||
public override UBIK.Kernel.SSO.ISSOProcessor GetSSOProcessor(System.String token) | public override UBIK.Kernel.SSO.ISSOProcessor GetSSOProcessor(System.String token) | ||
{ | { | ||
Line 89: | Line 96: | ||
There are several use-cases where we need to customize the SSO processor. We can define what should be done when a login object is required or found, and we can use the information delivered with the SSO token in the form of assertions or claims. In any case, we must override the SSO processor implementation, e.g.: | There are several use-cases where we need to customize the SSO processor. We can define what should be done when a login object is required or found, and we can use the information delivered with the SSO token in the form of assertions or claims. In any case, we must override the SSO processor implementation, e.g.: | ||
− | <syntaxhighlight lang="csharp"> | + | <syntaxhighlight lang="csharp" class="mw-collapsible mw-collapsed" > |
public class MyOIDCProcessor : DynamicOIDCProcessorExt | public class MyOIDCProcessor : DynamicOIDCProcessorExt | ||
{ | { | ||
Line 138: | Line 145: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | </div></div> | ||
== Interfacing == | == Interfacing == | ||
Line 163: | Line 172: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
= Client = | = Client = |
Revision as of 07:58, 21 March 2024
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.