I think the article in our docs gives the impression that the Zendesk SSO is complicated, because it's actually quite simple (http://www.zendesk.com/api/remote-authentication).
namespace :zendesk do
match "/login" => "zendesk#login"
match "/logout" => "zendesk#logout"
end
ZENDESK_REMOTE_AUTH_TOKEN = "< your token >"
ZENDESK_REMOTE_AUTH_URL = "http://yourcompany.zendesk.com/access/remote/"
require "digest/md5"
class ZendeskController < ApplicationController
def index
@zendesk_remote_auth_url = ZENDESK_REMOTE_AUTH_URL
end
def login
timestamp = params[:timestamp] || Time.now.utc.to_i
string = "First Last" + "first.last@gmail.com" + ZENDESK_REMOTE_AUTH_TOKEN + timestamp.to_s
hash = Digest::MD5.hexdigest(string)
@zendesk_remote_auth_url = "http://yourcompany.zendesk.com/access/remote/?name=First%20Last&email=first.last@gmail.com×tamp=#{timestamp}&hash=#{hash}"
redirect_to @zendesk_remote_auth_url
end
def logout
flash[:notice] = params[:message]
end
end
, SSO Zendesk. , , , Zendesk.