# Microsoft ADFS SSO

Squadcast supports SAML 2.0-based Single **Sign-On** (SSO) login for Microsoft Active Directory users and you can set it for your organization by following this integration guide.

### Pre-requisites <a href="#pre-requisites" id="pre-requisites"></a>

1. Account Owner / Administrator account in Squadcast

{% hint style="info" %}
**Points to Note:**

1\. Only an Administrator / Account owner can enable and configure Microsoft ADFS SSO for an organization in Squadcast.\
\
2\. Once enabled, only the Account owner can use email password-based login by default although it can be configured to enable email-based login for Administrators as well.
{% endhint %}

### Setup Instructions <a href="#setup-instructions" id="setup-instructions"></a>

1. Login to <mark style="color:red;">`app.squadcast.com`</mark> and navigate to the **Settings** > **Extensions**. Click the **Configure** button under SSO.

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-50e69d268f4677c4c2e7d8b5ba89af509fd88bca%2Fmicrosoft_sso_gb_1.png?alt=media)

2\. In the opened modal, select the **Custom SAML 2.0** tab and click **Show configuration guide for Custom SAML 2.0**.

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-7845575ec45c020f17a9dcb79da98c7a09b9704e%2Fmicrosoft_sso_gb_2.png?alt=media)

3\. As given in the displayed guide, copy the **ACS** URL. Then log in to your server and go to <mark style="color:red;">`Server Manager`</mark>.

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-4dbc49f17695402a2c66251fd4ed03a7e5f7da8f%2Fadfs_3.png?alt=media\&token=4749d79e-e360-47f7-9848-2ac8bbbdefd6)

4\. Go to <mark style="color:red;">`Tools`</mark> -> <mark style="color:red;">`ADFS Management`</mark>

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-0f40991620c8e8b7742ab1a2387541415115acda%2Fadfs_4.png?alt=media\&token=617a295c-79eb-4270-a486-462fbf0a06f3)

5\. Click on <mark style="color:red;">`Add Relying Party Trust`</mark>.

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-c8fc45de72ddedc22d998198f63c184dd6f97379%2Fadfs_5.png?alt=media\&token=e95187f0-9b6c-47d0-bf05-62db8250d51c)

6\. Select <mark style="color:red;">`Claims Aware`</mark> and click <mark style="color:red;">`Start`</mark>.

7\. Select <mark style="color:red;">`Enter data about the relying party manually`</mark> and click <mark style="color:red;">`Next.`</mark>

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-98d4ea0b6f616fde8f9438e6670d3e50e10729e0%2Fmicrosoft_sso_gb_3.png?alt=media)

8\. Enter the <mark style="color:red;">`Display name`</mark>. Click <mark style="color:red;">`Next`</mark>.

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-f609561d489b945cb919dc0554559e1b7f46a6b3%2Fmicrosoft_sso_gb_4.png?alt=media)

9\. Select <mark style="color:red;">`Configure Certificate`</mark> and click <mark style="color:red;">`Next`</mark>.

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-a30692d9f2bdf271d06be8ef3be5d99378f94bf5%2Fmicrosoft_sso_gb_5.png?alt=media)

10\. Select <mark style="color:red;">`Enable Support for the SAML 2.0 Web SSO protocol`</mark>. Enter the **ACS** URL you copied from Squadcast. Click <mark style="color:red;">`Next`</mark>.

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-e45b1666e6a8a46bca3de9e021584c5f9c29d617%2Fmicrosoft_sso_gb_6.png?alt=media)

11\. Paste the **ACS** URL in <mark style="color:red;">`Relying on party trust identifier`</mark>. Click <mark style="color:red;">`Add`</mark>. Then click <mark style="color:red;">`Next`</mark>.

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-553e0aa4a5820fab8fed3681f8d4526213fc0fd9%2Fmicrosoft_sso_gb_7.png?alt=media)

12\. Select <mark style="color:red;">`Access Control Policy`</mark>. Click <mark style="color:red;">`Next`</mark>.

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-553e0aa4a5820fab8fed3681f8d4526213fc0fd9%2Fmicrosoft_sso_gb_8.png?alt=media)

13\. In <mark style="color:red;">`Ready to Add Trust`</mark>. Click <mark style="color:red;">`Next`</mark>. Then Click <mark style="color:red;">`Close`</mark>.

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-16b6a032f4e13f8e9de96101748d8f8092712a0f%2Fmicrosoft_sso_gb_9.png?alt=media)

14\. Click <mark style="color:red;">`Edit Claim Insurance Policy`</mark>.

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-a15d500fec9f6e2375ba00e30aba699654a1e766%2Fmicrosoft_sso_gb_10.png?alt=media)

15\. Click <mark style="color:red;">`Add Rule`</mark>.

16\. Select <mark style="color:red;">`Send LDAP Attributes as Claims`</mark>. Click <mark style="color:red;">`Next`</mark>.

17\. Give a name. Select Attribute Store as <mark style="color:red;">`Active Directory`</mark>. And map **LDAP attributes** to **Outgoing Claim Type** as shown below. Map <mark style="color:red;">`E-Mail-Addresses`</mark> to <mark style="color:red;">`E-Mail Address`</mark>, <mark style="color:red;">`Given-Nam`</mark>`e` to <mark style="color:red;">`Given Name`</mark> and <mark style="color:red;">`Surname`</mark> to <mark style="color:red;">`Surname`</mark> Click <mark style="color:red;">`Ok`</mark>.

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-dec35a667c2d8b539d8363a512f4d621023f409e%2Fmicrosoft_sso_gb_11.png?alt=media)

18\. Then Click <mark style="color:red;">`Add Rule`</mark>. Select <mark style="color:red;">`Send Claims using Custom Rule`</mark>. Click <mark style="color:red;">`Next`</mark>.

19\. Give a <mark style="color:red;">`Claim rule name`</mark>. And enter the following <mark style="color:red;">`Custom rule`</mark>. Click <mark style="color:red;">`Ok`</mark>.

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-7da8d1f4f113a68ffbaed0c7120cdfea0e7c9804%2Fmicrosoft_sso_gb_12.png?alt=media)

```
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"]
 => issue(Type = "last_name", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType);
```

20\. Repeat the Above step and add two more custom rules. Following are the two rules.

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-31a36fc238cfecec8cb4d75f76e9a135c1bcf924%2Fmicrosoft_sso_gb_13.png?alt=media)

```
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"]
 => issue(Type = "first_name", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType);
```

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-1dd98c156571f3d792527b3f517df5ac20967780%2Fmicrosoft_sso_gb_14.png?alt=media)

```
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"]
 => issue(Type = "email", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType);
```

{% hint style="info" %}
**Points to Note:**

Make Sure the user accounts to be used for SSO have the first name, last name and email configured.
{% endhint %}

21\. Click <mark style="color:red;">`Apply`</mark>.

22\. Again, using the <mark style="color:red;">`Edit Claim Rule`</mark> wizard, add a rule using the template. <mark style="color:red;">`Transform an incoming claim`</mark> of type Email Address with Outgoing Claim Type Name ID and Outgoing Name ID Format as Email, passing through all claim values.

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-3438a303d0808d1edc49f113c07f42a8a5b0d975%2FADFS_SSO_step22.png?alt=media)

23\. In your **ADFS** management dashboard. Go to <mark style="color:red;">`Services->Certificates`</mark>. Select <mark style="color:red;">`Token Signing Certificate`</mark> and Click <mark style="color:red;">`View Certificate`</mark>. Go to <mark style="color:red;">`Details->Copy to Fil`</mark>`e` and export the Der encoded binary X.509 certificate.

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-e63c5c59ac36a54c9e65a96d5c7f05adf7b5dd2a%2Fadfs_18%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(3\).png?alt=media\&token=da92af12-5fea-4a89-b605-f00d25fcf653) ![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-0db13f05e6d7342f2b068127721d931b84136f14%2Fadfs_19%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(4\).png?alt=media\&token=db2ce8d8-01fa-43ab-82f1-a935d3ba7f78) ![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-ac6ca1a1ce31a65a5c14df25b56f2298b561e901%2Fadfs_20%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(5\).png?alt=media\&token=5ec3ef5c-c71a-446a-8438-286a60510e78) ![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-c1af90dd255f80f76361eef16984cb05ff362de3%2Fadfs_21%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(3\).png?alt=media\&token=4d5785e7-3586-4d71-8ac8-e47f2a21cea8) ![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-e5cbb02683d2e5ed3c6c921b9cd63ffc9455b8f4%2Fadfs_22%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(7\).png?alt=media\&token=dff79fad-c3db-450d-87b9-a98d48bfb649)

24\. Now convert the <mark style="color:red;">`.cer`</mark> file to a <mark style="color:red;">`.pem`</mark> file using the following command in Powershell.

```
openssl x509 -inform der -in certificatename.cer -out certificatename.pem
```

25\. Open the .pem file in a text editor. Copy the contents and paste them into Squadcast under <mark style="color:red;">`X.509 Certificate`</mark>. Then enter the <mark style="color:red;">`Saml 2.0`</mark> Endpoint as **https\:///adfs/ls**

{% hint style="info" %}
**Note:**

Make sure to add the **Domain Name** of your Organization, for SSO login to work
{% endhint %}

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-7e0d32ce75eaac1672d85831e1801b1f2b37dd76%2Fmicrosoft_sso_gb_15.png?alt=media)

26\. Enable <mark style="color:red;">`SSO`</mark> and click <mark style="color:red;">`Save`</mark>.

27\. ADFS SSO is now configured. To test it you can go to **https\:///adfs/ls/idpinitiatedsignon**. Select Your application and sign in with your user account. You will be logged in to Squadcast and a user will be created.

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-283bcb51f923d0860b893858d8dae4fc04832a34%2Fadfs_24.png?alt=media\&token=70c1e7b3-0934-4e28-9d8c-5bb79a66a150) ![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-64800b2f249adbb7ef2ac13cf74ad7768c42a366%2Fadfs_25.png?alt=media\&token=cf142083-d004-4dd4-bf46-eec1c0c63ddc)

*Have any questions?* [*Ask the community*](https://community.squadcast.com/view/home)*.*
