aboutsummaryrefslogtreecommitdiffstats
path: root/library/oauth2/src/OAuth2/OpenID/Storage/UserClaimsInterface.php
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2016-12-27 15:28:52 -0800
committerzotlabs <mike@macgirvin.com>2016-12-27 15:28:52 -0800
commitdb9ea66069f2a2df6044e8267a68eae377c45911 (patch)
treeaa93597df2ee43ceeaa980db864b58143f2e06df /library/oauth2/src/OAuth2/OpenID/Storage/UserClaimsInterface.php
parentef02464e3c3188563349bfda42585ce40cdb45ad (diff)
parentc2830c4a98cf3c9983b3c4b61024d52a6d7187df (diff)
downloadvolse-hubzilla-db9ea66069f2a2df6044e8267a68eae377c45911.tar.gz
volse-hubzilla-db9ea66069f2a2df6044e8267a68eae377c45911.tar.bz2
volse-hubzilla-db9ea66069f2a2df6044e8267a68eae377c45911.zip
Merge branch 'master' of https://github.com/redmatrix/hubzilla into master_merge
Diffstat (limited to 'library/oauth2/src/OAuth2/OpenID/Storage/UserClaimsInterface.php')
-rw-r--r--library/oauth2/src/OAuth2/OpenID/Storage/UserClaimsInterface.php38
1 files changed, 38 insertions, 0 deletions
diff --git a/library/oauth2/src/OAuth2/OpenID/Storage/UserClaimsInterface.php b/library/oauth2/src/OAuth2/OpenID/Storage/UserClaimsInterface.php
new file mode 100644
index 000000000..f230bef9e
--- /dev/null
+++ b/library/oauth2/src/OAuth2/OpenID/Storage/UserClaimsInterface.php
@@ -0,0 +1,38 @@
+<?php
+
+namespace OAuth2\OpenID\Storage;
+
+/**
+ * Implement this interface to specify where the OAuth2 Server
+ * should retrieve user claims for the OpenID Connect id_token.
+ */
+interface UserClaimsInterface
+{
+ // valid scope values to pass into the user claims API call
+ const VALID_CLAIMS = 'profile email address phone';
+
+ // fields returned for the claims above
+ const PROFILE_CLAIM_VALUES = 'name family_name given_name middle_name nickname preferred_username profile picture website gender birthdate zoneinfo locale updated_at';
+ const EMAIL_CLAIM_VALUES = 'email email_verified';
+ const ADDRESS_CLAIM_VALUES = 'formatted street_address locality region postal_code country';
+ const PHONE_CLAIM_VALUES = 'phone_number phone_number_verified';
+
+ /**
+ * Return claims about the provided user id.
+ *
+ * Groups of claims are returned based on the requested scopes. No group
+ * is required, and no claim is required.
+ *
+ * @param $user_id
+ * The id of the user for which claims should be returned.
+ * @param $scope
+ * The requested scope.
+ * Scopes with matching claims: profile, email, address, phone.
+ *
+ * @return
+ * An array in the claim => value format.
+ *
+ * @see http://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims
+ */
+ public function getUserClaims($user_id, $scope);
+}