aboutsummaryrefslogtreecommitdiffstats
path: root/library/oauth2/src/OAuth2/Controller/AuthorizeControllerInterface.php
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2016-10-07 14:11:24 -0700
committerzotlabs <mike@macgirvin.com>2016-10-07 14:11:24 -0700
commit10863a5949cc59771424cb809af5c9f279f78a58 (patch)
tree7a86223b830c1ae784bd4557bbefee9f60169542 /library/oauth2/src/OAuth2/Controller/AuthorizeControllerInterface.php
parentbf02e0428347350126abdd1726aa3e58c9ed63bb (diff)
downloadvolse-hubzilla-10863a5949cc59771424cb809af5c9f279f78a58.tar.gz
volse-hubzilla-10863a5949cc59771424cb809af5c9f279f78a58.tar.bz2
volse-hubzilla-10863a5949cc59771424cb809af5c9f279f78a58.zip
add oauth2/oidc lib
Diffstat (limited to 'library/oauth2/src/OAuth2/Controller/AuthorizeControllerInterface.php')
-rw-r--r--library/oauth2/src/OAuth2/Controller/AuthorizeControllerInterface.php43
1 files changed, 43 insertions, 0 deletions
diff --git a/library/oauth2/src/OAuth2/Controller/AuthorizeControllerInterface.php b/library/oauth2/src/OAuth2/Controller/AuthorizeControllerInterface.php
new file mode 100644
index 000000000..fa07ae8d2
--- /dev/null
+++ b/library/oauth2/src/OAuth2/Controller/AuthorizeControllerInterface.php
@@ -0,0 +1,43 @@
+<?php
+
+namespace OAuth2\Controller;
+
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+
+/**
+ * This controller is called when a user should be authorized
+ * by an authorization server. As OAuth2 does not handle
+ * authorization directly, this controller ensures the request is valid, but
+ * requires the application to determine the value of $is_authorized
+ *
+ * ex:
+ * > $user_id = $this->somehowDetermineUserId();
+ * > $is_authorized = $this->somehowDetermineUserAuthorization();
+ * > $response = new OAuth2\Response();
+ * > $authorizeController->handleAuthorizeRequest(
+ * > OAuth2\Request::createFromGlobals(),
+ * > $response,
+ * > $is_authorized,
+ * > $user_id);
+ * > $response->send();
+ *
+ */
+interface AuthorizeControllerInterface
+{
+ /**
+ * List of possible authentication response types.
+ * The "authorization_code" mechanism exclusively supports 'code'
+ * and the "implicit" mechanism exclusively supports 'token'.
+ *
+ * @var string
+ * @see http://tools.ietf.org/html/rfc6749#section-4.1.1
+ * @see http://tools.ietf.org/html/rfc6749#section-4.2.1
+ */
+ const RESPONSE_TYPE_AUTHORIZATION_CODE = 'code';
+ const RESPONSE_TYPE_ACCESS_TOKEN = 'token';
+
+ public function handleAuthorizeRequest(RequestInterface $request, ResponseInterface $response, $is_authorized, $user_id = null);
+
+ public function validateAuthorizeRequest(RequestInterface $request, ResponseInterface $response);
+}