Mercurial > prosody-modules
comparison mod_http_oauth2/README.markdown @ 5506:37621c6e5c08
mod_http_oauth2: Restructure description of client metadata requirements
Previously quite a compact block of text, maybe this is easier to read.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 01 Jun 2023 19:55:36 +0200 |
parents | efe9e741f222 |
children | 209299fd81e1 |
comparison
equal
deleted
inserted
replaced
5505:efe9e741f222 | 5506:37621c6e5c08 |
---|---|
111 [RFC7591](https://www.rfc-editor.org/rfc/rfc7591.html). | 111 [RFC7591](https://www.rfc-editor.org/rfc/rfc7591.html). |
112 | 112 |
113 In addition to the requirements in the RFC, the following requirements | 113 In addition to the requirements in the RFC, the following requirements |
114 are enforced: | 114 are enforced: |
115 | 115 |
116 - `client_name` and `client_uri` **MUST** be present. | 116 `client_name` |
117 - `client_uri` **MUST** be a `https://` URL. | 117 : **MUST** be present, is shown to users in consent screen. |
118 - `redirect_uris` **MUST** contain at least one valid URI. | 118 |
119 - If `application_type` equals `web` (or is not included) then all | 119 `client_uri` |
120 `redirect_uris` **MUST** be `https://` URIs and **MUST** use the | 120 : **MUST** be present and **MUST** be a `https://` URL. |
121 same hostname part as the `client_uri`. | 121 |
122 - If `application_type` equals `native` then all `redirect_uris` | 122 `redirect_uris` |
123 **MUST** match one of: | 123 |
124 - Loopback HTTP URI, e.g. `http://127.0.0.1/` or `http://[::1]` | 124 : **MUST** contain at least one valid URI. Different rules apply |
125 - Application-specific scheme, e.g. `com.example.app:/` | 125 depending on the value of `application_type`: |
126 - The special OOB URI `urn:ietf:wg:oauth:2.0:oob` | 126 |
127 - Informative URIs such as policy and terms of service **MUST** use | 127 `web` |
128 the same scheme (i.e. `https://`) and hostname as the `client_uri`. | 128 : `redirect_uris` **MUST** match one of: - Loopback HTTP URI, |
129 e.g. `http://127.0.0.1/` or `http://[::1]` - | |
130 Application-specific scheme, e.g. `com.example.app:/` - The | |
131 special OOB URI `urn:ietf:wg:oauth:2.0:oob` | |
132 | |
133 `application_type` | |
134 | |
135 : Optional, defaults to `web`. Determines further restrictions for | |
136 `redirect_uris`. The following values are supported: | |
137 | |
138 `web` *(default)* | |
139 : For web clients. | |
140 | |
141 `native` | |
142 : For native e.g. desktop clients etc. | |
143 | |
144 `tos_uri`, `policy_uri` | |
145 : Informative URLs pointing to Terms of Service and Service Policy | |
146 document **MUST** use the same scheme (i.e. `https://`) and hostname | |
147 as the `client_uri`. | |
129 | 148 |
130 #### Registration Example | 149 #### Registration Example |
131 | 150 |
132 In short registration works by POST-ing a JSON structure describing your | 151 In short registration works by POST-ing a JSON structure describing your |
133 client to an endpoint: | 152 client to an endpoint: |