Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Current »

Meridix Studio supports single sign on (SSO) from external systems. There are two ways to allow an external system to automatically log in users into Meridix Studio without the users needing to manually input their credentials.

Signed - Recommended

The recommended method to log in users is to make a signed request (same signing mechanism as with the Web API) to the URL https://[meridixurl]/SSO?u=[username] but before sending it use a ticket from Meridix Studio (token/secret) to sign the request resulting in a signed URL ex: 

https://companyname.meridix.se/SSO?auth_nonce=acd80a19&auth_timestamp=20121127113000&auth_token=3dsafdsa324c9bd4b8887b66baa8b566c28&u=user@user.com&auth_signature=81987e7899140e0c07e8dc26553fa7d2 

The signing procedure is described in the Web API Authorization section.

This is the recommended solution because it nevers send any passwords or ticket secrets to over the wire and once a signed request has been used its no longed valid i.e. each signed URL can only be used once and is only valid for 10 minutes from creation/signing (based on the timestamp parameter in combination with the Meridix server time in UTC).

If you need to link a user from ex. a portal site the rendered link must be signed a maximum of 10 minutes before its clicked otherwise the Meridix authentication will respond with a 403 Forbidden HTTP response since the signature has been deprecated.

Basic - Not recommended (insecure)

The easiest way to login a user from an external system is to make a request against https://[meridixurl]/SSO?u=[username]&p=[password]
Where [meridixurl] is the URL to your Meridix installation, [username] is the username/email of the user you want to login and [password] is the Meridix password of the user.

This solution is not the recommended method since its sends the credentials in clear text and should not be used with public installations (available outside e.g. your intranet) and should not be used without SSL (https).

This feature is not recommended and are disabled by default and must manually be enabled in Meridix Studio to work. [system-property: ui.sso_basic_insecure_enabled]

Responses

The SSO interface will return one of the following status codes depending on the result of the authentication operation.

Response: 302 - Found

If the SSO request was valid the HTTP status code 302 Found is returned with the Meridix authentication cookies set. The response also contains a Location header causing browsers to redirect to the logged in users startpage.
http://en.wikipedia.org/wiki/HTTP_302 

Response: 403 - Forbidden

The HTTP status code 403 Forbidden will be returned with an additonal status message descripting why the request was denied. An example of a reason can be Nonce already consumed that is returned if the nonce/token used for the signature already have been consumed during the timstamps allowed interval.
In additon to the standard response status message a response header with the key API.403_reason is added with the same response.
http://en.wikipedia.org/wiki/HTTP_403 

Response: 400 - Bad request

The HTTP status code 400 Bad request will be returned if the request was in an invalid format if for example the request has missing query strings. A status description message is also added describing the reason for the 400 code.
In additon to the standard response status message a response header with the key API.400_reason is added with the same response.
http://en.wikipedia.org/wiki/HTTP_400

 

Additional options

You also have the abbility to set the user interface language when logging in a user by using the query string key langage={language_code} where language_code is set to either sv-SE for swedish or en-US for english. If not supplied the system uses the to be logged in users setting.

At the time of writing only english and swedish is supported. But more langages will be supported in upcoming releases. 


 

  • No labels