Software / code / prosody-modules
Comparison
mod_openid/README.markdown @ 1885:b42eb10dc7d2
mod_openid/README: Convert raw HTML to emphasis
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Thu, 01 Oct 2015 16:58:12 +0200 |
| parent | 1803:4d73a1a6ba68 |
comparison
equal
deleted
inserted
replaced
| 1884:153f063c3d1a | 1885:b42eb10dc7d2 |
|---|---|
| 50 | 50 |
| 51 The following is a list of the pending tasks which would have to be done | 51 The following is a list of the pending tasks which would have to be done |
| 52 to make mod\_openid fully featured. They are generally ranked in order | 52 to make mod\_openid fully featured. They are generally ranked in order |
| 53 of most importance with an estimated degree of difficulty. | 53 of most importance with an estimated degree of difficulty. |
| 54 | 54 |
| 55 1. Support Prosody 0.6.x series | 55 1. Support Prosody 0.6.x series (**Medium**) |
| 56 (<font color='blue'><i>Medium</i></font>) | 56 2. Refactor code (**Medium**) |
| 57 2. Refactor code (<font color='blue'><i>Medium</i></font>) | |
| 58 - The code is pretty messy at the moment, it should be refactored | 57 - The code is pretty messy at the moment, it should be refactored |
| 59 to be more easily understood. | 58 to be more easily understood. |
| 60 | 59 |
| 61 3. Disable use of "user@domain" OpenID identifier form | 60 3. Disable use of "user@domain" OpenID identifier form (*Easy*) |
| 62 (<font color='green'><i>Easy</i></font>) | |
| 63 - This is a vestigial feature from the early design, allowing | 61 - This is a vestigial feature from the early design, allowing |
| 64 explicit specification of the JID. However the JID can be | 62 explicit specification of the JID. However the JID can be |
| 65 inferred from the simpler OpenID identifier form. | 63 inferred from the simpler OpenID identifier form. |
| 66 | 64 |
| 67 4. Use a cryptographically secure Pseudo Random Number Generator (PRNG) | 65 4. Use a cryptographically secure Pseudo Random Number Generator (PRNG) |
| 68 (<font color='blue'><i>Medium</i></font>) | 66 (**Medium**) |
| 69 - This would likely be accomplished using luacrypto which provides | 67 - This would likely be accomplished using luacrypto which provides |
| 70 a Lua binding to the OpenSSL PRNG. | 68 a Lua binding to the OpenSSL PRNG. |
| 71 | 69 |
| 72 5. Make sure OpenID key-value pairs get signed in the right order | 70 5. Make sure OpenID key-value pairs get signed in the right order |
| 73 (<font color='red'><i>Hard</i></font>) | 71 (***Hard***) |
| 74 - It is important that the OpenID key-value responses be signed in | 72 - It is important that the OpenID key-value responses be signed in |
| 75 the proper order so that the signature can be properly verified | 73 the proper order so that the signature can be properly verified |
| 76 by the receiving party. This may be complicated by the fact that | 74 by the receiving party. This may be complicated by the fact that |
| 77 the iterative ordering of keys in a Lua table is not guaranteed | 75 the iterative ordering of keys in a Lua table is not guaranteed |
| 78 for non-integer keys. | 76 for non-integer keys. |
| 79 | 77 |
| 80 6. Do an actual match on the OpenID realm | 78 6. Do an actual match on the OpenID realm (**Medium**) |
| 81 (<font color='blue'><i>Medium</i></font>) | |
| 82 - The code currently always returns true for matches against an | 79 - The code currently always returns true for matches against an |
| 83 OpenID realm, posing a security risk. | 80 OpenID realm, posing a security risk. |
| 84 | 81 |
| 85 7. Don't use plain text authentication over HTTP | 82 7. Don't use plain text authentication over HTTP (***Hard***) |
| 86 (<font color='red'><i>Hard</i></font>) | |
| 87 - This would require some Javascript to perform a digest. | 83 - This would require some Javascript to perform a digest. |
| 88 | 84 |
| 89 8. Return meaningful error responses | 85 8. Return meaningful error responses (**Medium**) |
| 90 (<font color='blue'><i>Medium</i></font>) | |
| 91 - Most error responses are an HTTP 404 File Not Found, obviously | 86 - Most error responses are an HTTP 404 File Not Found, obviously |
| 92 something more meaningful could be returned. | 87 something more meaningful could be returned. |
| 93 | 88 |
| 94 9. Enable Association (<font color='red'><i>Hard</i></font>) | 89 9. Enable Association (***Hard***) |
| 95 - Association is a feature of the OpenID specification which | 90 - Association is a feature of the OpenID specification which |
| 96 reduces the number of round-trips needed to perform | 91 reduces the number of round-trips needed to perform |
| 97 authentication. | 92 authentication. |
| 98 | 93 |
| 99 10. Support HTTPS (<font color='blue'><i>Medium</i></font>) | 94 10. Support HTTPS (**Medium**) |
| 100 - With option to only allow authentication through HTTPS | 95 - With option to only allow authentication through HTTPS |
| 101 | 96 |
| 102 11. Enable OpenID 1.1 compatibility | 97 11. Enable OpenID 1.1 compatibility (**Medium**) |
| 103 (<font color='blue'><i>Medium</i></font>) | |
| 104 - mod\_openid is designed from the OpenID 2.0 specification, which | 98 - mod\_openid is designed from the OpenID 2.0 specification, which |
| 105 has an OpenID 1.1 compatibility mode. | 99 has an OpenID 1.1 compatibility mode. |
| 106 | 100 |
| 107 12. Check specification compliance | 101 12. Check specification compliance (**Medium**) |
| 108 (<font color='blue'><i>Medium</i></font>) | |
| 109 - Walk through the code and make sure it complies with the OpenID | 102 - Walk through the code and make sure it complies with the OpenID |
| 110 specification. Comment code as necessary with the relevant | 103 specification. Comment code as necessary with the relevant |
| 111 sections in the specification. | 104 sections in the specification. |
| 112 | 105 |
| 113 Once all these steps are done, mod\_openid could be considered to have | 106 Once all these steps are done, mod\_openid could be considered to have |
| 114 reached "beta" status and ready to real world use. The following are | 107 reached "beta" status and ready to real world use. The following are |
| 115 features that would be nice to have in a stable release: | 108 features that would be nice to have in a stable release: |
| 116 | 109 |
| 117 1. Allow users to always trust realms | 110 1. Allow users to always trust realms (***Hard***) |
| 118 (<font color='red'><i>Hard</i></font>) | 111 2. Allow users to remain logged in with a cookie (***Hard***) |
| 119 2. Allow users to remain logged in with a cookie | 112 3. Enable simple registration using a user's vCard (**Medium**) |
| 120 (<font color='red'><i>Hard</i></font>) | 113 4. More useful user identity page (***Hard***) |
| 121 3. Enable simple registration using a user's vCard | |
| 122 (<font color='blue'><i>Medium</i></font>) | |
| 123 4. More useful user identity page | |
| 124 (<font color='red'><i>Hard</i></font>) | |
| 125 - Allow users to alter what realms they trust and what simple | 114 - Allow users to alter what realms they trust and what simple |
| 126 registration information gets sent to relaying parties by | 115 registration information gets sent to relaying parties by |
| 127 default. | 116 default. |
| 128 | 117 |
| 129 5. OpenID Bot (<font color='red'><i>Hard</i></font>) | 118 5. OpenID Bot (***Hard***) |
| 130 - Offers all functionality of the user identity page management | 119 - Offers all functionality of the user identity page management |
| 131 | 120 |
| 132 6. Better designed pages (<font color='green'>Easy</font>) | 121 6. Better designed pages (*Easy*) |
| 133 - Use semantic XHTML and CSS to allow for custom styling. | 122 - Use semantic XHTML and CSS to allow for custom styling. |
| 134 - Use the Prosody favicon. | 123 - Use the Prosody favicon. |
| 135 | 124 |
| 136 Useful Links | 125 Useful Links |
| 137 ============ | 126 ============ |