What is SAML?
Security Assertion Markup Language (SAML) is an XML standard that allows secure web domains to exchange user authentication and authorization data. Using SAML, an online service provider (SP) can contact a separate online identity provider to authenticate users who are trying to access secure content.
SAML authentication protocol is popular for browser-based enterprise applications. SAML uses XML data format to transfer messages between applications. This XML document is digitally signed by the Identity provider and shared with the Service provider during user authentication process.
Benefits of using SAML:
- Standardization: SAML interoperates with any system independent of implementation because of its standardized format.
- Security: It eliminates the passwords & provides authentication through digital signature. SAML also uses the Public Key Infrastructure (PKI) to protect identities from attacks.
- Single Sign-On: SAML provides fastest & efficiently access to multiple application through assertion which helps to connect SAML support Service Provider (SP) to Identity Provider. SAML provides the better user experience through assertion which communicates between Service Provider (SP) & Identity Server.
SAML Single Sign-on (SSO)
Single Sign On (SSO) using SAML protocol, is an authentication process in which a user is provided access to multiple applications and/or websites by using only a single set of login credentials (such as username and password). This prevents the need for the user to login separately into the different applications.
The user credentials and other identity information is stored and managed by a centralized system called Identity Provider (IdP). The Identity Provider is a trusted system which provides access to other websites and applications.
SAML Single Sign-On (SSO) FLOW:
The authentication process using SAML Single Sign-On (SSO) takes place as described in the following steps:
- 1. The user requests a resource from their desired application/website (Service Provider)
- 2. The service provider identifies the IDP and redirects to IDP with SSO request.
- 3. The identity provider verifies the user.
- 4. The identity provider sends a response with the XHTML form.
- 5. Identity Provider sends the XML document (SAML Assertion) to the service provider (SP) which contains the user authorization.
- 6. After SAML Assertion from Identity provider (IDP) Service Provider (SP) responds to the user with requested resources.
Identity Provider sends the XML document (SAML Assertion) to the service provider (SP) which contains the user authorization.
There are three different types of SAML Assertions –
- Authentication: - The specified subject was authenticated by a particular means at a particular time. This kind of statement is typically generated by a SAML authority called an identity provider, which is in charge of authenticating users and keeping track of other information about them.
- Attribute: The specified subject is associated with the supplied attributes.
- Authorization decision: A request to allow the specified subject to access the specified resource has been granted or denied.
An assertion consists of one or more statements. For single sign-on, a typical SAML assertion will contain a single authentication statement and possibly a single attribute statement. Note that a SAML response could contain multiple assertions, although its more typical to have a single assertion within a response.
The SAML specification defines three roles:
The principal (typically a user)
The Identity Provider (IdP)
The Service Provider (SP)
In the use case addressed by SAML, the principal requests a service from the service provider. The service provider requests and obtains an identity assertion from the identity provider. Based on this assertion, the service provider can make an access control decision - in other words it can decide whether to perform some service for the connected principal.
Let us take an example to show you how to configure miniOrange Self-Service Console as a service provider by accepting a SAML assertion generated by the miniOrange IDP.
Also, you can configure miniOrange Self-Service Console as a service provider (SP) with Other Identity Providers (IDPs) like Okta, OneLogin, Azure AD, Auth0 etc.
SAML vs. OAuth
OAuth is a slightly newer standard that was co-developed by Google and Twitter to enable streamlined internet logins. OAuth uses a similar methodology as SAML to share login information. SAML provides more control to enterprises to keep their SSO logins more secure, whereas OAuth is better on mobile and uses JSON.Facebook and Google are two OAuth providers that you might use to log into other internet sites.
||SAML is an authentication protocol.
||OAuth is an authorization protocol.
||SAML will be used by those who are looking for federation and identity management. They will use this identity to login the users to different applications.
||OAuth will be used by those who are not looking to maintain identities but are rather trying to leverage the implementation of secure protocol by applications such as Google, Microsoft, Paypal, who ensure that the identities are authentic.
||SAML is popular for browser-based applications.
||OAuth is suitable for both browser and mobile applications.
|Commonly Used By
||SAML is widely used for enterprise applications.
||OAuth is widely used for customer applications and API access.
||SAML uses XML to transfer messages between applications.
||OAuth uses JSON to transfer messages between applications.
For More Details: