source: spip-zone/_plugins_/authentification/browserid/trunk/persona.js.html @ 63445

Last change on this file since 63445 was 63445, checked in by fil@…, 8 years ago

renommage de browserid en persona + mise a jour du js

File size: 1.6 KB
Line 
1#HTTP_HEADER{Content-Type: text/javascript; charset=#CHARSET}
2/*
3 *  Plugin persona pour SPIP
4 *
5 *  (c) Fil 2012 - Licence GNU/GPL
6 *
7 */
8
9[(#INCLURE{javascript/persona.js})]
10
11/*
12 * fonction demandant au client de verifier l'assertion renvoyee
13 * par persona
14 */
15function persona_verify_client(assertion) {
16  if (assertion) {
17    $.post("https://persona.org/verify",
18      {
19      assertion: assertion,
20      audience: window.location.href.replace(/(\/\/.*?)\/.*/, '$1')
21      }, persona_welcome
22    );
23  }
24}
25
26
27/*
28 * fonction demandant au serveur de verifier l'assertion persona
29 * et de nous loger sur SPIP au passage, si le site est ainsi configure'
30 */
31function persona_verify_server(assertion) {
32  if (assertion) {
33    $.post("?action=persona_verify",
34      {
35      assertion: assertion,
36      audience: window.location.href.replace(/(\/\/.*?)\/.*/, '$1')
37      }, persona_welcome
38    );
39  }
40}
41
42
43/*
44 * Fonction appelee quand on a reussi a se connecter
45 */
46function persona_welcome(e) {
47  // console.log(e);
48  if (e.status == "okay") {
49    if (url) {
50      if (e.autoriser_ecrire) {
51        window.location = url;
52      } else if (e.autoriser_url) {
53        window.location = url;
54      } else {
55        e.message = "Vous êtes identifié comme " + e.email + " mais cet email n'a pas d'accès à l'espace privé du site.";
56      }
57    }
58    if (e.message) {
59      persona_message(e.message);
60    }
61    if (e.action) {
62      eval(e.action);
63    }
64  } else {
65    persona_message('something was wrong: '+(e.reason || ""));
66  }
67}
68
69/* definir a minima une fonction d'alerte */
70if (!persona_message) persona_message = alert;
Note: See TracBrowser for help on using the repository browser.