Problem: You do not want to deploy Google Apps SSO with SAML or using webStore tiles. The below solution will show how to manually make SSO definitions, so you can change the default input values to LDAP attributes or allow you to have tiles outside the webStore/MyTiles.
Solution(s): Manually create links, lockboxes and webPass forms. There are two forms because there are two different login pages for Google - 1. For someone who has never logged into Google or 2. For anyone who has logged in before it will show a list of users that have logged in before. Since the login pages for all Google Services is relatively the same, we use a wildcard .* so we only need 2 SSO forms for all tiles.
If you are not using LDAP attributes, then create Google Apps lockboxes:
- Go to webAdmin then Applications Admin
- Create a Google User ID lockbox
- Create a Google Password lockbox
Create Google Drive link:
- Go to webAdmin then Link-Menu Admin
- Create a new link under your desired menu
- Standard URL = https://drive.google.com/ (or equivalent Google service)
- Enter URL of image on Options tab - /images/appselector/Lenovo_GoogleDrive150x150.png
- Disable the webPass Credential Prompt on the Options tab
- Disable Cleanup Window on the Options tab
Create Google Sign-in form (default):
- Go to webAdmin then Application Admin
- Create a new form object
- Form Type as "webPass"
- Login URL = https://drive.google.com/ (or equivalent Google service)
- Trigger URL = https://accounts.google.com/signin.*
- Login Page Launch = Enabled
- Form Identifier = 0
- Enter 2 form inputs called "identifier" and "password", which should equal the lockbox or LDAP attributes
- Enter Script
- function pageOne(){ document.getElementById("identifierId").value = "@@enc:REPLACE ME@@"; document.getElementById("identifierNext").click();}
- function pageTwo(){ document.getElementsByName("password")[0].value = "@@enc:REPLACE ME@@"; document.getElementById("passwordNext").click();}
- if(document.getElementById("identifierNext")){ pageOne();setTimeout(pageTwo, 1000);} else {setInterval(pageTwo, 1000);}
10. Assign users
11. Click Save button