Software /
code /
prosody-modules
Annotate
mod_http_oauth2/html/device.html @ 5705:527c747711f3
mod_http_oauth2: Limit revocation to clients own tokens in strict mode
RFC 7009 section 2.1 states:
> The authorization server first validates the client credentials (in
> case of a confidential client) and then verifies whether the token was
> issued to the client making the revocation request. If this
> validation fails, the request is refused and the client is informed of
> the error by the authorization server as described below.
The first part was already covered (in strict mode). This adds the later
part using the hash of client_id recorded in 0860497152af
It still seems weird to me that revoking a leaked token should not be
allowed whoever might have discovered it, as that seems the responsible
thing to do.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 29 Oct 2023 11:30:49 +0100 |
parent | 5653:401356232e1b |
rev | line source |
---|---|
5596
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 <!DOCTYPE html> |
5653
401356232e1b
mod_http_oauth2: Specify language in templates
Kim Alvefur <zash@zash.se>
parents:
5649
diff
changeset
|
2 <html lang="en"> |
5596
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 <head> |
5641
8de02381e80a
mod_http_oauth2: Conform to XHTML in templates
Kim Alvefur <zash@zash.se>
parents:
5615
diff
changeset
|
4 <meta charset="utf-8" /> |
5596
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 <meta name="viewport" content="width=device-width, initial-scale=1" /> |
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 <title>{site_name} - Authorize{client&d} Device</title> |
5641
8de02381e80a
mod_http_oauth2: Conform to XHTML in templates
Kim Alvefur <zash@zash.se>
parents:
5615
diff
changeset
|
7 <link rel="stylesheet" href="style.css" /> |
5596
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 </head> |
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 <body> |
5643
e86a1018cdb3
mod_http_oauth2: Present errors in HTML <dialog>
Kim Alvefur <zash@zash.se>
parents:
5642
diff
changeset
|
10 {error& |
e86a1018cdb3
mod_http_oauth2: Present errors in HTML <dialog>
Kim Alvefur <zash@zash.se>
parents:
5642
diff
changeset
|
11 <dialog open="" class="error"> |
e86a1018cdb3
mod_http_oauth2: Present errors in HTML <dialog>
Kim Alvefur <zash@zash.se>
parents:
5642
diff
changeset
|
12 <p>{error.text}</p> |
e86a1018cdb3
mod_http_oauth2: Present errors in HTML <dialog>
Kim Alvefur <zash@zash.se>
parents:
5642
diff
changeset
|
13 <form method="dialog"><button>dismiss</button></form> |
e86a1018cdb3
mod_http_oauth2: Present errors in HTML <dialog>
Kim Alvefur <zash@zash.se>
parents:
5642
diff
changeset
|
14 </dialog>} |
5642
6109496a7ccc
mod_http_oauth2: Move site name into <header>
Kim Alvefur <zash@zash.se>
parents:
5641
diff
changeset
|
15 <header> |
6109496a7ccc
mod_http_oauth2: Move site name into <header>
Kim Alvefur <zash@zash.se>
parents:
5641
diff
changeset
|
16 <h1>{site_name}</h1> |
6109496a7ccc
mod_http_oauth2: Move site name into <header>
Kim Alvefur <zash@zash.se>
parents:
5641
diff
changeset
|
17 </header> |
5596
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 <main> |
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 <fieldset> |
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 <legend>Device Authorization</legend> |
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 {client& |
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 <p>Authorization completed. You can go back to |
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 <em>{client.client_name}</em>.</p>} |
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 {client~ |
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 <p>Enter the code to continue.</p> |
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 <form method="get"> |
5649
f889ff779571
mod_http_oauth2: Improve templates
Kim Alvefur <zash@zash.se>
parents:
5643
diff
changeset
|
27 <input type="text" name="user_code" placeholder="XXXX-XXXX" aria-label="Code" required="" /> |
5641
8de02381e80a
mod_http_oauth2: Conform to XHTML in templates
Kim Alvefur <zash@zash.se>
parents:
5615
diff
changeset
|
28 <button type="submit">Continue</button> |
5596
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
29 </form>} |
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
30 </fieldset> |
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
31 </main> |
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
32 </body> |
7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
33 </html> |