about summary refs log tree commit diff
path: root/kittybox-rs/indieauth
Commit message (Collapse)AuthorAgeFilesLines
* kittybox-indieauth: document the entire crateVika2022-07-223-23/+333
| | | | I am procrastinating very hard right now.
* kittybox-indieauth: axum helpers for responsesVika2022-07-221-0/+40
| | | | Some responses need to set Cache-Control and Pragma: no-cache headers according to RFC 6749.
* kittybox-indieauth: convert Error into axum::response::ResponseVika2022-07-192-0/+27
| | | | | | This requires the `axum` feature to be enabled, to prevent unwanted dependencies (e.g. in client apps or when using a different framework, since the library doesn't concern itself with I/O)
* kittybox-indieauth: improve docs and the Error typeVika2022-07-192-22/+97
| | | | | | | `kittybox_indieauth::Error` now represents errors in the IndieAuth process itself. `IndieAuthError` got renamed to `ResourceErrorKind` to reflect errors that a resource server (i.e. IndieAuth consumer) might return to a client who somehow didn't authorize themselves properly.
* WIP: IndieAuth progressVika2022-07-152-3/+7
| | | | | | | | | | | | - Some kittybox-indieauth crate bugs were fixed - Things should mostly work... - ...if you somehow supply your own backend store - YES I MADE IT MODULAR AGAIN - NO I AM NOT SORRY - YOU WILL THANK ME LATER - DO NOT DENY THE HEAVENLY GIFT OF GENERICS IN RUST - Retrieving profiles doesn't work for now because I am unsure how to implement it best
* Add enum for requests that the authorization endpoint may encounterVika2022-07-151-1/+8
| | | | | | Really, it should be `Either<AuthorizationRequest, GrantRequest>` but either serde or axum got iffy about me deserializing it from a form. Not sure which one.
* kittybox-indieauth: add From impls for TokenIntrospectionResponseVika2022-07-151-0/+16
| | | | | | | | | This makes converting Option<TokenData> into a response and vice versa a breeze, and hide the complexity of TokenIntrospectionResponse forced upon this library by the IndieAuth standard. Really, this type should've been represented as Option<TokenData>, I just don't know how to add the "active" field to it properly.
* kittybox-indieauth: improve types and make more of them publicVika2022-07-104-15/+50
|
* kittybox-indieauth: implement FromStr for ScopesVika2022-07-101-3/+12
|
* Security bugfix: fix Scopes::has_all() incorrectly checking scopesVika2022-07-101-2/+15
| | | | | Turns out it was comparing the list of required scopes with **itself**. Oops, that's a major security issue.
* kittybox-indieauth: initVika2022-07-104-0/+517
This crate is the base framework-agnostic implementation of all data structures and methods required for IndieAuth protocol. Anything that can deserialize HTTP request payloads with serde can utilize this crate. This is a good candidate to independently release on crates.io when the interface becomes stable enough.