Concur SAML Guide
Concur SAML Guide
This document contains proprietary information and data that is the exclusive
property of Concur Technologies, Inc., Redmond, Washington. No part of this
document may be reproduced, transmitted, stored in a retrieval system, translated
into any language, or otherwise used in any form or by any means, electronic or
mechanical, for any purpose, without the prior consent of Concur Technologies, Inc.
Concur® Expense, Concur®, and their respective logos are all trademarks of Concur
Technologies, Inc. All other company and product names are the property of their
respective owners.
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
Table of Contents
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
SAML Overview
Purpose
This document contains information necessary for clients to understand the use of a
Security Assertion Markup Language (SAML) solution for single sign-on (SSO) in the
Concur Travel and Expense Platform (CTE). Included is a definition of SAML, how
SAML enables single sign-on, and what requirements are needed by the client and
Concur in order to implement them within the Concur Travel and Expense Platform
(CTE).
SAML Overview
This document contains information necessary for clients to understand the use of a
Security Assertion Markup Language (SAML) solution for single sign-on (SSO) in the
Concur Travel and Expense Platform (CTE) and Concur Native Mobile application.
Included is a definition of SAML, how SAML enables single sign-on, and what
requirements are needed by the client and Concur in order to implement them within
the Concur Travel and Expense Platform (CTE) and Concur Native Mobile application.
SAML helps reduce time wasted when users must sign on multiple times to access a
suite of tools. The waste reduction is accomplished through single sign-on (SSO).
SSO provides a protocol for end users to authenticate once with an identity provider,
and upon successful authentication, access multiple tools or Web sites. In the case of
Concur Travel and Expense Platform (CTE), once a user is logged on to their
workstation or Corporate Portal, the user does not have to log on again to CTE. CTE
recognizes the employee and bypasses the Log On page; instead, it displays the My
Concur page (by default).
SAML uses existing HTTPS protocols to transfer assertions across the Internet using
XML. When data is transferred between two security domains, it is encoded and
encrypted (HTTPS) to ensure that it cannot be manipulated or read if intercepted by
a third party.
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
Benefits of SAML
SAML is the standard for SSO across the Internet. Most SSO vendors now conform to
this standard because of its ease of integration and improvement of online
experience for the end users as well as the following benefits. SAML has the following
properties:
It is platform neutral and does not require particular platform architecture or
vendor implementations. Many of its implementations have demonstrated
successful interoperability.
It promotes an improved online experience because it allows users to
authenticate at an identity provider once and then have access to service
provider software without any additional authentication.
Combined with HTTPS, SAML is a secure method of transferring information
across the open Internet.
Successful implementation of SAML using multiple products, including: Ping,
Okta, Centrify, Azure & OneLogin
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
Chapter 1: SAML Posting Process
Overview
IdP Initiated: The user is accessing resources on the Identity Provider, and wishes
to access resources on another web site (the Service Provider). The user already has
a current security context with the Identity Provider. A SAML assertion is provided to
the Service Provider.
1. At some point the user will have been challenged to supply their credentials
to the site IDP sign in or behind the scene authentication (using Kerberos for
example).
2. The user successfully provides their credentials and has a security context
with the Identity Provider session.
3. The user selects a menu options, link, or function on the resource that means
the user’s wants to access a resource or application on another web site.
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
4. The IdP sends a HTML form back to the browser. The HTML FORM contains a
SAML response, within which is a SAML assertion. The SAML specifications
mandate that the response must be digitally signed. The HTML FORM will
contain an input or submit action that will result in a HTTP POST.
If the user credentials are validated, the following actions can occur:
The user's browser is automatically authenticated into the Concur Travel and
Expense Service, opening the My Concur screen.
If the client has provided a valid Authorization Decision statement or
“RelayState” value indicating a different screen than this, the user is
redirected to the specified screen.
If the credentials cannot be validated, the user’s browser is redirected to an
error URL provided by the client or to the default Login Screen if an error URL
is not provided in the SAML Response.
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
Chapter 2: SAML Entity Configurations
and Decisions
Industry-Standard SAML
The industry-standard SAML solution requires the exchange of configuration
information between the client and Concur to grant access to CTE. The following
information is given by the client to the Technical Consultant (TC).
The table below is a list of configurations and decisions followed by the designated
decision maker and implementer.
Public Key Client’s Public Signature Client A Public key, Concur and
Key provided in a Client
.cert file or a
Base-64
.X509 text file
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
Time Out If the client decides to use Client Timeout value Concur
Value the authentication instant in seconds
timeout method, they must (Used only
provide Concur a timeout with
value in seconds. Authentication
Instant
timeout
method)
<concursaml:OnError>htt
p://news.google.com</co
ncursaml:OnError>
</saml:Advice>
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
Enforce SSO Enables the client to Client Notification Concur
(Optional) enforce single sign-on. If that SSO
SSO is enforced, all users should be
must use it to enter Concur enforced.
Travel and Expense. (Optional)
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
SAML 1.x
<saml:Assertion>
….
<saml:AuthorizationDeci
sionStatement
Resource=”XXXX”>
<saml:Action>HPO_VALUE<
/saml:Action>
<saml:AuthorizationDeci
sionStatement>
SAML 2.x
<saml:Assertion>
...
<saml:AuthzDecisionStat
ement Resource=”XXXX”>
<saml:Action>HPO_VALUE<
/saml:Action>
</saml:AuthzDecision
Statement>
RelayState
/SAMLRedirector/ClientS
AMLLogin.aspx?relaystat
e=hpo%3D4%26cte%3D<valu
e of “cte” parameter
from the e-mail
notification>
RelayState=https://www.
concursolutions.com?hpo
=4&cte=<value of “cte”
parameter from the e-
mail notification>
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
Service Provider MetaData
Concur does not publish a metadata file or XML as the Service Provider. However,
the below metadata XML can be used if your IDP requires the metadata XML. You will
need to get the <BASE_URL> from your Technical Consultant:
<EntityDescriptor entityID="https://---<BASE_URL>---"
xmlns="urn:oasis:names:tc:SAML:2.0:metadata">
<SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="true"
protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-
format:emailAddress</NameIDFormat>
<AssertionConsumerService index="1"
Binding="urn:oasis:names:tc:SAML:1.1:bindings:HTTP-POST"
Location="https://---<BASE_URL--->/SAMLRedirector/ClientSAMLLogin.aspx"/>
</SPSSODescriptor>
</EntityDescriptor>
SAML Assertion
Included is an example of an assertion for IDP Init SAML. It contains a number of
important elements including a Digital signature and Name identifier. These elements
must be provided to Concur before implementation. In addition, note that:
2. The SAML namespace is defined by the spec version. ("1.0" will be used
throughout this section as an example.)
The user ID within the NameIdentifier element, described above, can be combined
with the Issuer element (SAML 2.0) or attribute (SAML 1.1) that is part of the
Assertion element to form a unique user ID. The software will automatically insert
the "@" character between the user Id and the issuer.
<saml:NameIdentifier
Format="urn:oasis:names:tc:SAML:1.0:assertion#WindowsQualifiedDomainName"
NameQualifier="dc=us,dc=uat,dc=Client,dc=net">u200654</saml:Name Identifier>
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
USING SAML 2.0:
<saml:Issuer>idmsamuat.TheClient.net</saml:Issuer>
Destination="https://<BASE_URL>/SAMLRedirector/ClientSAMLLogin.aspx"
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
<Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">---ISSUER VALUE -----
</Issuer>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
</samlp:Status>
<Assertion ID="-----"
IssueInstant="2016-05-25T14:38:05.070Z"
Version="2.0"
xmlns="urn:oasis:names:tc:SAML:2.0:assertion"
>
<Issuer>---ISSUER VALUE -----</Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<ds:SignatureMethod
Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" />
<ds:Reference URI="#-----">
<ds:Transforms>
<ds:Transform
Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-
exc-c14n#" />
</ds:Transforms>
<ds:DigestMethod
Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<ds:DigestValue>--------</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>---------</ds:SignatureValue>
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<X509Data>
<X509Certificate>-----x509 cert key -------
</X509Certificate>
</X509Data>
</KeyInfo>
</ds:Signature>
<Subject>
<NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-
format:emailAddress">----FULL NAME ID VALUE-----</NameID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<SubjectConfirmationData NotOnOrAfter="2016-05-25T14:43:05.070Z"
Recipient="https://<BASE_URL>/SAMLRedirector/ClientSAMLLogin.aspx"/>
</SubjectConfirmation>
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
</Subject>
<Conditions NotBefore="2016-05-25T14:33:05.070Z"
NotOnOrAfter="2016-05-25T15:33:05.070Z"
>
<AudienceRestriction>
<Audience>https://www.concursolutions.com</Audience>
</AudienceRestriction>
</Conditions>
<AuthnStatement AuthnInstant="2016-05-25T14:37:23.768Z"
SessionIndex="------">
<AuthnContext>
<AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</AuthnCont
extClassRef>
</AuthnContext>
</AuthnStatement>
</Assertion>
</samlp:Response>
! It is strongly recommended that the public key and private key originate from a
certificate issued by a Trusted certificate authority. Concur Implementation must
work directly with the client if they intend on using a client-generated certificate
in lieu of that issued by the Trusted certificate authority.
NOTE: SAML 1.1 and 2.0 is available for SSO into CTE. In addition, Concur is
compatible with all SAML specifications but is not compliant. This means that
Concur handles many SAML features and functionality but not all of them.
For Industry Standard SAML, the Enterprise directory tool should be configured to
post the SAML document. Your Concur Technical Consultant will provide you the ACS
URL to be posted to Concur using TLS (https).
In addition to the URL there are 2 additional parameters that can be used for a
secondary SSO or a partner SSO configuration.
Below is an additional value that can be setup with your Technical Consultant to
allow for an additional configuration. This commonly used for cutting over to a new
SAML configuration. Please consult with your Technical Consultant on the best
strategy and use for this feature.
Note: The Concur Mobile SSO can only have one IDP Sign-In page
configured at time.
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
SAML 2.0
SAML SSO for Concur Travel and Expense supports the SAML 1.1 and 2.0
specifications.
Login ID
Concur can resolve the user login ID in two ways. The full login ID with domain can
be in the NameIdentifier (SAML 2.0: NameID) element of the assertion XML.
<saml:NameID
Format="urn:oasis:names:tc:SAML:1.0:assertion#WindowsQualifiedDomainName"
NameQualifier="dc=us,dc=uat,dc=Client,dc=net">[email protected]</
saml:NameID>
In cases where the domain is not a part of the field used to create the login id the
domain can be in the Issuer element and the system will concatenate the values
together.
<saml:NameIdentifier
Format="urn:oasis:names:tc:SAML:1.0:assertion#WindowsQualifiedDomainName"
NameQualifier="dc=us,dc=uat,dc=Client,dc=net">u200654</saml:Name Identifier>
<saml:NameID
Format="urn:oasis:names:tc:SAML:1.0:assertion#WindowsQualifiedDomainNam
e"
NameQualifier="dc=us,dc=uat,dc=Client,dc=net">USER</saml:NameIdentifier
>
<saml:Issuer>COMPANYDOMAIN.COM</saml:Issuer>
NOTE: The following characters cannot be included in any login: % [ ' # ! * & ( ) ~ ` {
^}\|/?><,;:"+=]
Key Rotation
Key rotation is the introduction of a new key by the client. Typically key rotation is
seamless, and the coordination between client and Concur Support ensures a
seamless transition, without problems of validation. If you need to rotate or update
your signing key, contact your Authorized Support Contact to open a case with
Concur Support and Support Representative will coordinate and assist with this
change.
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
Email Handling
Emails coming from the Concur system contain links that provide a quick short cut
into the application. An example of this is expense report approval email for
managers which is configured in Policies in Expense Administration. These emails
contain a link that once clicked on by the end user will launch the user’s browser and
after login will display the expense approval screen with the specific expense report
requiring approval automatically selected. The approving manager is one click from
approving the report.
With SAML SSO, additional changes to the client's SAML infrastructure are required
to enable these links. These changes require reading parameters in the URL that is
sent to the client’s SAML infrastructure. The URL will contain two CGI parameters:
hpo
cte
Conclusion
While SAML has many benefits, and is easy to integrate, it is also a defined by a
relatively complex process. In order to make an informed decision about how to
implement, it may be useful to read more about the SAML Standards on the Web site
for Organization for the Advancement of Structured information Standards (OASIS)
https://www.oasis-open.org/.
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
Concur for Mobile – Single Sign-On (SSO)
Overview
Clients can use Concur for Mobile Single Sign-On (SAML SSO) for mobile login. By
using SSO, users can log in to the mobile device using their regular corporate login
and password instead of having a separate one for the mobile device. Clients must
have enabled SAML SSO for Concur Travel & Expense.
! If a client configures Mobile for SSO and SSO is required, then all of the client's
mobile users must log in using SSO.
If a client configures Mobile for SSO but SSO is not required, then the client's mobile
users can log in using SSO or their mobile-only password (PIN).
NOTE: If SSO is not required, the SSO login option appears but the user can enter
his/her email address or Concur username (from the web version of Concur)
and will then be directed to use his/her mobile-only password (PIN).
Concur for Mobile already provides exceptional security features – So why add
SSO?
Configuration
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
2. Next, clients must develop their company’s mobile-optimized network login
site.
BEST PRACTICE
NOTE: For BES (Blackberry Enterprise Servers) companies, the policy for Cookies
Support must be set to OFF (more information at
http://docs.blackberry.com/en/admin/deliverables/14334/Configure_MDSCS_
manages_HTTP_cookie_storage_490054_11.jsp).
NOTE: The user enters their email address or web-version Concur username and
then is directed to use their mobile-only password (PIN).
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
Email
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
What the User Sees on Mobile
iPhone
Android
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
Mobile SSO Enforced
iPhone
Android
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
**Optional** Mobile SSO Enforced or not Enforced
iPhone
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
Android
Whether or not SSO is configured, the regular log in screen appears. If a user
chooses (or is instructed by their company) to use SSO, the user taps Having
Trouble Signing In?
The user enters the company code obtained from the Mobile Registration page in
the web version of Concur. The user taps Submit.
The user is then directed to the corporate login page for mobile. The user enters
his/her corporate user name and corporate password, then selects Login.
From now on, the user sees the corporate login page when logging in to the mobile
app.
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
Use Cases
Install
Initial Login
2. Next:
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
Blackberry: User taps the Having trouble signing in? link and enters
their Mobile SSO Company Code.
iOS/Android: User taps Sign In, then enters their Concur login or email
address then is directed to their company site. (if SSO is required)
- Or -
User selects SSO Company Code Sign In then enters their company’s
code
Subsequent Login
5. Concur detects a valid session (the inactivity timeout has not occurred).
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
2. User closes Concur.
3. User launches the Concur app on the smartphone (remember, this device is
using SSO to connect).
4. Concur reads company URL from the device cache (the encrypted URL is
refreshed from the server).
11. Company sends this to Concur Travel & Expense thru SAML.
Logout
This should be used if user is actively using Concur and switching between different
company accounts (for example, if they are a contractor).
iPhone:
User selects the Settings menu.
User selects the Logout button.
User is taken to the login screen.
BlackBerry:
User selects the BlackBerry menu.
User selects the Logout option
User is returned to the login screen.
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
Android:
User selects the Android menu.
User selects the Logout option.
User is returned to the login screen.
Clear Cache
iPhone:
User selects the Settings menu.
User selects the Clear out the local cache option.
User confirms deletions.
User selects OK.
BlackBerry:
User selects the BlackBerry menu.
Android:
User selects the Android menu.
User selects the Clear offline data option.
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
Remote Wipe
2. Company admin access the User Admin in Concur Travel & Expense.
5. Company admin checks the Remote wipe mobile device box under Mobile
Settings.
15. Concur clears the company URL from the device cache.
16. Concur clears the IDP cookie from the device cache.
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
Flow Charts
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017
Concur Technologies
Copyright © 2017 Concur Technologies. All rights reserved. Last Revised: April 12 2017