|
1
|
|
|
<?php |
|
2
|
|
|
|
|
3
|
|
|
namespace Emarref\Jwt\HeaderParameter; |
|
4
|
|
|
|
|
5
|
|
|
/** |
|
6
|
|
|
* "typ" (Type) Header Parameter |
|
7
|
|
|
* |
|
8
|
|
|
* The "typ" (type) Header Parameter is used by JWS applications to declare the MIME Media Type [IANA.MediaTypes] of |
|
9
|
|
|
* this complete JWS object. This is intended for use by the application when more than one kind of object could be |
|
10
|
|
|
* present in an application data structure that can contain a JWS object; the application can use this value to |
|
11
|
|
|
* disambiguate among the different kinds of objects that might be present. It will typically not be used by |
|
12
|
|
|
* applications when the kind of object is already known. This parameter is ignored by JWS implementations; any |
|
13
|
|
|
* processing of this parameter is performed by the JWS application. Use of this Header Parameter is OPTIONAL. |
|
14
|
|
|
* |
|
15
|
|
|
* Per RFC 2045 [RFC2045], all media type values, subtype values, and parameter names are case-insensitive. However, |
|
16
|
|
|
* parameter values are case-sensitive unless otherwise specified for the specific parameter. |
|
17
|
|
|
* |
|
18
|
|
|
* To keep messages compact in common situations, it is RECOMMENDED that producers omit an "application/" prefix of a |
|
19
|
|
|
* media type value in a "typ" Header Parameter when no other '/' appears in the media type value. A recipient using |
|
20
|
|
|
* the media type value MUST treat it as if "application/" were prepended to any "typ" value not containing a '/'. For |
|
21
|
|
|
* instance, a "typ" value of "example" SHOULD be used to represent the "application/example" media type; whereas, the |
|
22
|
|
|
* media type "application/example;part="1/2"" cannot be shortened to "example;part="1/2"". |
|
23
|
|
|
* |
|
24
|
|
|
* The "typ" value "JOSE" can be used by applications to indicate that this object is a JWS or JWE using the JWS Compact |
|
25
|
|
|
* Serialization or the JWE Compact Serialization. The "typ" value "JOSE+JSON" can be used by applications to indicate |
|
26
|
|
|
* that this object is a JWS or JWE using the JWS JSON Serialization or the JWE JSON Serialization. Other type values |
|
27
|
|
|
* can also be used by applications. |
|
28
|
|
|
*/ |
|
29
|
|
|
class Type extends AbstractParameter |
|
30
|
|
|
{ |
|
31
|
|
|
const NAME = 'typ'; |
|
32
|
|
|
|
|
33
|
|
|
/** |
|
34
|
|
|
* @return string |
|
35
|
|
|
*/ |
|
36
|
|
|
public function getName() |
|
37
|
|
|
{ |
|
38
|
|
|
return self::NAME; |
|
39
|
|
|
} |
|
40
|
|
|
} |
|
41
|
|
|
|