diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2013-08-15 17:07:14 -0500 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2013-08-15 17:07:14 -0500 |
commit | 97b9b98c1e2571e5617d6a2135d46c4874ac6f51 (patch) | |
tree | bb590f16f317be6cc6a0ba15daaeaab2544df432 /mediagoblin/plugins/persona/static/js | |
parent | 4834ef8ec21e985290f5e0015ae9452070956170 (diff) | |
parent | cd612ee68902fed1bad981f0c72b338d03fa2aab (diff) | |
download | mediagoblin-97b9b98c1e2571e5617d6a2135d46c4874ac6f51.tar.lz mediagoblin-97b9b98c1e2571e5617d6a2135d46c4874ac6f51.tar.xz mediagoblin-97b9b98c1e2571e5617d6a2135d46c4874ac6f51.zip |
Merge branch 'persona_resquash'
Diffstat (limited to 'mediagoblin/plugins/persona/static/js')
-rw-r--r-- | mediagoblin/plugins/persona/static/js/persona.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/mediagoblin/plugins/persona/static/js/persona.js b/mediagoblin/plugins/persona/static/js/persona.js new file mode 100644 index 00000000..a1d0172f --- /dev/null +++ b/mediagoblin/plugins/persona/static/js/persona.js @@ -0,0 +1,49 @@ +/** + * GNU MediaGoblin -- federated, autonomous media hosting + * Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +$(document).ready(function () { + var signinLink = document.getElementById('persona_login'); + if (signinLink) { + signinLink.onclick = function() { navigator.id.request(); }; + } + + var signinLink1 = document.getElementById('persona_login1'); + if (signinLink1) { + signinLink1.onclick = function() { navigator.id.request(); }; + } + + var signoutLink = document.getElementById('logout'); + if (signoutLink) { + signoutLink.onclick = function() { navigator.id.logout(); }; + } + + navigator.id.watch({ + onlogin: function(assertion) { + document.getElementById('_assertion').value = assertion; + document.getElementById('_persona_login').submit() + }, + onlogout: function() { + $.ajax({ + type: 'POST', + url: '/auth/logout', + success: function(res, status, xhr) { window.location.reload(); }, + error: function(xhr, status, err) { alert("Logout failure: " + err); } + }); + } + }); +}); |