1: <?php declare(strict_types=1);
2:
3: namespace Salient\Http\OAuth2;
4:
5: /**
6: * @api
7: */
8: interface HasResponseType
9: {
10: /**
11: * Authorization code
12: *
13: * - \[RFC6749] Section 4.1 ("Authorization Code Grant")
14: * - \[OpenID.Core] Section 3.1 ("Authentication using the Authorization
15: * Code Flow")
16: */
17: public const RESPONSE_CODE = 'code';
18:
19: /**
20: * Token
21: *
22: * - \[RFC6749] Section 4.2 ("Implicit Grant")
23: */
24: public const RESPONSE_TOKEN = 'token';
25:
26: /**
27: * ID token
28: *
29: * - \[OpenID.Core] Section 3.2 ("Authentication using the Implicit Flow")
30: */
31: public const RESPONSE_ID_TOKEN = 'id_token';
32:
33: /**
34: * ID token + token
35: *
36: * - \[OpenID.Core] Section 3.2 ("Authentication using the Implicit Flow")
37: */
38: public const RESPONSE_ID_TOKEN_TOKEN = 'id_token token';
39:
40: /**
41: * Authorization code + ID token
42: *
43: * - \[OpenID.Core] Section 3.3 ("Authentication using the Hybrid Flow")
44: */
45: public const RESPONSE_CODE_ID_TOKEN = 'code id_token';
46:
47: /**
48: * Authorization code + token
49: *
50: * - \[OpenID.Core] Section 3.3 ("Authentication using the Hybrid Flow")
51: */
52: public const RESPONSE_CODE_TOKEN = 'code token';
53:
54: /**
55: * Authorization code + ID token + token
56: *
57: * - \[OpenID.Core] Section 3.3 ("Authentication using the Hybrid Flow")
58: */
59: public const RESPONSE_CODE_ID_TOKEN_TOKEN = 'code id_token token';
60: }
61: