aboutsummaryrefslogtreecommitdiff
path: root/models/openid-php-openid-782224d/examples/consumer/finish_auth.php
diff options
context:
space:
mode:
Diffstat (limited to 'models/openid-php-openid-782224d/examples/consumer/finish_auth.php')
-rw-r--r--models/openid-php-openid-782224d/examples/consumer/finish_auth.php98
1 files changed, 98 insertions, 0 deletions
diff --git a/models/openid-php-openid-782224d/examples/consumer/finish_auth.php b/models/openid-php-openid-782224d/examples/consumer/finish_auth.php
new file mode 100644
index 000000000..b19a665cf
--- /dev/null
+++ b/models/openid-php-openid-782224d/examples/consumer/finish_auth.php
@@ -0,0 +1,98 @@
+<?php
+
+require_once "common.php";
+session_start();
+
+function escape($thing) {
+ return htmlentities($thing);
+}
+
+function run() {
+ $consumer = getConsumer();
+
+ // Complete the authentication process using the server's
+ // response.
+ $return_to = getReturnTo();
+ $response = $consumer->complete($return_to);
+
+ // Check the response status.
+ if ($response->status == Auth_OpenID_CANCEL) {
+ // This means the authentication was cancelled.
+ $msg = 'Verification cancelled.';
+ } else if ($response->status == Auth_OpenID_FAILURE) {
+ // Authentication failed; display the error message.
+ $msg = "OpenID authentication failed: " . $response->message;
+ } else if ($response->status == Auth_OpenID_SUCCESS) {
+ // This means the authentication succeeded; extract the
+ // identity URL and Simple Registration data (if it was
+ // returned).
+ $openid = $response->getDisplayIdentifier();
+ $esc_identity = escape($openid);
+
+ $success = sprintf('You have successfully verified ' .
+ '<a href="%s">%s</a> as your identity.',
+ $esc_identity, $esc_identity);
+
+ if ($response->endpoint->canonicalID) {
+ $escaped_canonicalID = escape($response->endpoint->canonicalID);
+ $success .= ' (XRI CanonicalID: '.$escaped_canonicalID.') ';
+ }
+
+ $sreg_resp = Auth_OpenID_SRegResponse::fromSuccessResponse($response);
+
+ $sreg = $sreg_resp->contents();
+
+ if (@$sreg['email']) {
+ $success .= " You also returned '".escape($sreg['email']).
+ "' as your email.";
+ }
+
+ if (@$sreg['nickname']) {
+ $success .= " Your nickname is '".escape($sreg['nickname']).
+ "'.";
+ }
+
+ if (@$sreg['fullname']) {
+ $success .= " Your fullname is '".escape($sreg['fullname']).
+ "'.";
+ }
+
+ $pape_resp = Auth_OpenID_PAPE_Response::fromSuccessResponse($response);
+
+ if ($pape_resp) {
+ if ($pape_resp->auth_policies) {
+ $success .= "<p>The following PAPE policies affected the authentication:</p><ul>";
+
+ foreach ($pape_resp->auth_policies as $uri) {
+ $escaped_uri = escape($uri);
+ $success .= "<li><tt>$escaped_uri</tt></li>";
+ }
+
+ $success .= "</ul>";
+ } else {
+ $success .= "<p>No PAPE policies affected the authentication.</p>";
+ }
+
+ if ($pape_resp->auth_age) {
+ $age = escape($pape_resp->auth_age);
+ $success .= "<p>The authentication age returned by the " .
+ "server is: <tt>".$age."</tt></p>";
+ }
+
+ if ($pape_resp->nist_auth_level) {
+ $auth_level = escape($pape_resp->nist_auth_level);
+ $success .= "<p>The NIST auth level returned by the " .
+ "server is: <tt>".$auth_level."</tt></p>";
+ }
+
+ } else {
+ $success .= "<p>No PAPE response was sent by the provider.</p>";
+ }
+ }
+
+ include 'index.php';
+}
+
+run();
+
+?> \ No newline at end of file