Wiki

Version 5 (Ashish Kataria, 10/26/2012 02:50 am)

1 1
Using single sign-on (SSO) will permit a single action of user authentication and authorization to access all computers and systems where he has access permission, without the need to enter multiple passwords. 
2 1
INSTALLATION
3 1
---------------------
4 1
1. Download and extract Single.
5 1
6 3 Ashish Kataria
You can obtain the latest Single Sign-On release from [[http://forge.kayako.com/attachments/download/316/sso.zip]] -- the files are available in .zip formats and can be extracted using most compression tools.
7 1
To download and extract the files, on a typical Unix/Linux command line, use the following commands:
8 1
9 2 Ashish Kataria
<pre>
10 3 Ashish Kataria
wget http://forge.kayako.com/attachments/download/316/sso.zip
11 3 Ashish Kataria
tar -zxvf sso.zip
12 2 Ashish Kataria
</pre>
13 4 Ashish Kataria
This will create a new directory sso/ containing all samlsso files and directories. Then, to move the contents of that directory within your helpdesk app folder, continue with this command:
14 2 Ashish Kataria
15 2 Ashish Kataria
<pre>
16 4 Ashish Kataria
mv sso /path/to/your/installation/__apps/samlsso
17 2 Ashish Kataria
</pre>
18 1
19 1
2. Go to Admin interface of your helpdesk and click on Apps on left hand side menu
20 1
21 1
!http://forge.kayako.com/attachments/download/309/Screen_Shot_2012-10-12_at_11.27.33_AM.png!
22 1
23 1
3. Now click on Single Sign On and then click on Install button, this will install this app
24 1
25 1
!http://forge.kayako.com/attachments/download/310/Screen_Shot_2012-10-12_at_11.34.35_AM.png!
26 1
27 1
4. Now click on Settings option from left side menu and click on Single Sign On 
28 1
29 1
!http://forge.kayako.com/attachments/download/311/Screen_Shot_2012-10-12_at_11.45.25_AM.png!
30 1
31 1
5. You will see Single Sign On settings page
32 1
33 2 Ashish Kataria
!http://forge.kayako.com/attachments/download/315/Screen_Shot_2012-10-17_at_5.05.30_PM.png!
34 1
35 1
6. First you have to enable the Single Sign On by selecting yes for first option i.e. "Enable Single Sign"
36 1
37 2 Ashish Kataria
7. Next you can enable sign on through twitter or facebook by enabling option “Enable Twitter Authentication” or “Enable Facebook Authentication” correspondingly but if you want to use Twitter or Facebook login then first you have to configure your Apache
38 1
39 4 Ashish Kataria
8. Find the Apache configuration file for the virtual hosts where you run your helpdesk and create an alias in it. The configuration may look like this:
40 2 Ashish Kataria
<pre>
41 2 Ashish Kataria
<VirtualHost *>
42 2 Ashish Kataria
        ServerName service.example.com
43 2 Ashish Kataria
        DocumentRoot /var/www/service.example.com(i.e. path to your helpdesk trunk folder)
44 1
45 2 Ashish Kataria
        Alias /samlidp path to your helpdesk trunk folder/__apps/samlsso/thirdparty/samlidp/www
46 2 Ashish Kataria
</VirtualHost>
47 2 Ashish Kataria
</pre>
48 1
49 2 Ashish Kataria
9. For Twitter integration you need to get an API Consumer key and a Consumer secret (update it in Admin settings), by register the application at: http://twitter.com/oauth_clients
50 1
51 2 Ashish Kataria
10. Set the callback URL to be: http://ky.example.org/samlidp/module.php/authtwitter/linkback.php . Replace ky.example.org with your hostname.
52 1
53 2 Ashish Kataria
11. For Facebook integration you need to get App ID (or API Key) and App Secret (update it in Admin settings), by register the application at: http://www.facebook.com/developers/
54 2 Ashish Kataria
       Please Note :- Facebook needs the CURL and JSON PHP extensions.
55 1
56 2 Ashish Kataria
12. If you want to login from your own Identity Provider then provides your IdP details in next few settings options (for setting up your IdP and adding our Service Provider to your IdP refer to http://simplesamlphp.org/docs/stable/simplesamlphp-idp )
57 1
58 2 Ashish Kataria
13. Entity ID – Specify the index of your IdP metadata array, use these while setting IdP for your help desk
59 1
60 2 Ashish Kataria
14. SingleSignOnService URL – Specify the URL that Kayako will invoke to redirect users to your Identity Provider
61 1
62 2 Ashish Kataria
15. Your IdP should return Email address and Name
63 1
64 2 Ashish Kataria
16. Our Assertion Consumer Service (ACS) URL is http://yourservername.kayako.com/index.php?/Samlsso/Sso/Idp/Login
65 1
66 2 Ashish Kataria
17. Next provide the path for your certificate which you can obtain this from your SAML identity provider
67 1
68 2 Ashish Kataria
18. Once you are done with all the settings then change the template.
69 2 Ashish Kataria
70 2 Ashish Kataria
19. Now click on Templates -> Templates option from left side menu and click on General 
71 2 Ashish Kataria
72 2 Ashish Kataria
20. List of templates will be shown up, click on header template
73 2 Ashish Kataria
74 2 Ashish Kataria
21. Add the below code: -
75 2 Ashish Kataria
76 2 Ashish Kataria
*After*
77 2 Ashish Kataria
<pre>
78 2 Ashish Kataria
<div id="loginsubscribebuttons"><input class="rebutton" value="<{$_language[login]}>" type="submit" /></div>
79 2 Ashish Kataria
</pre>
80 2 Ashish Kataria
*Add code*
81 2 Ashish Kataria
<pre>
82 2 Ashish Kataria
<{if isset($_twitterEnable) || isset($_facebookEnable) || isset($_ssoIdpEnable)}>
83 2 Ashish Kataria
<hr class="vdivider">
84 2 Ashish Kataria
 <{/if}>
85 2 Ashish Kataria
<{if isset($_twitterEnable)}>
86 2 Ashish Kataria
<div id="twitterlogin" class="widgetrow" style="padding-left:5px; " >
87 4 Ashish Kataria
     <span onclick="javascript: window.location.href='<{$_baseName}><{$_templateGroupPrefix}>/Samlsso/Sso/Twitter/Login';">
88 5 Ashish Kataria
            <a class="widgetrowitem defaultwidget" style="background-repeat: no-repeat; background-position: 5px 5px; width: 139px; font-size: 13px; padding: 14px 10px 15px 50px;background-image: URL('<{$_swiftPath}>__apps/samlsso/themes/client/images/twitter_icon.jpg');" href="<{$_baseName}><{$_templateGroupPrefix}>/Samlsso/Sso/Twitter/Login">
89 1
                   <span class="widgetitemtitle">Login Using Twitter</span>
90 1
              </a>
91 1
      </span>
92 2 Ashish Kataria
</div>
93 2 Ashish Kataria
<{/if}>
94 2 Ashish Kataria
<{if isset($_facebookEnable)}>
95 2 Ashish Kataria
<div id="facebooklogin" class="widgetrow" style="padding-left:5px;" >
96 4 Ashish Kataria
     <span onclick="javascript: window.location.href='<{$_baseName}><{$_templateGroupPrefix}>/Samlsso/Sso/Facebook/Login';">
97 5 Ashish Kataria
            <a class="widgetrowitem defaultwidget" style="background-repeat: no-repeat; background-position: 5px 5px; width: 139px; font-size: 13px; padding: 14px 10px 15px 50px;background-image: URL('<{$_swiftPath}>__apps/samlsso/themes/client/images/facebook_icon.jpg');" href="<{$_baseName}><{$_templateGroupPrefix}>/Samlsso/Sso/Facebook/Login">
98 1
                   <span class="widgetitemtitle">Login Using Facebook</span>
99 1
              </a>
100 1
      </span>
101 2 Ashish Kataria
</div>
102 2 Ashish Kataria
<{/if}>
103 2 Ashish Kataria
<{if isset($_ssoIdpEnable)}>
104 1
<div id="ssoidplogin" class="widgetrow" style="padding-left:5px;" >
105 4 Ashish Kataria
     <span onclick="javascript: window.location.href='<{$_baseName}><{$_templateGroupPrefix}>/Samlsso/Sso/Idp/Login';">
106 5 Ashish Kataria
            <a class="widgetrowitem defaultwidget" style="background-repeat: no-repeat; background-position: 5px 5px; width: 139px; font-size: 13px; padding: 14px 10px 15px 50px;background-image: URL('<{$_swiftPath}>__apps/samlsso/themes/client/images/saml_icon.jpg');" href="<{$_baseName}><{$_templateGroupPrefix}>/Samlsso/Sso/Idp">
107 2 Ashish Kataria
                   <span class="widgetitemtitle">Login Using Your IdP</span>
108 1
              </a>
109 1
      </span>
110 1
</div>
111 4 Ashish Kataria
<{/if}>
112 4 Ashish Kataria
</pre>
113 4 Ashish Kataria
114 2 Ashish Kataria
22. After changing the template file you can see the login buttons in Support Center corresponding to remote authentications you have enabled
115 1
116 1
!http://forge.kayako.com/attachments/download/313/Screen_Shot_2012-10-12_at_2.41.57_PM.png!
117 1
 
118 2 Ashish Kataria
23. Now you can login with any account