OAuth2.0
An oauth 2.0 library that does not assume anything. The library can be used to produce OAuth 2.0 requests and parse token responses. It produces gleam http requests and takes in gleam http responses.
import oauth2
import gleam/httpc
import gleam/uri
pub fn main() -> Nil {
let assert Ok(server) =
uri.parse(
"http://localhost:8080/realms/OAuth/protocol/openid-connect/token",
)
let token_request =
oauth2.ClientCredentialsGrantTokenRequest(
server,
oauth2.ClientSecretPost(
oauth2.ClientId("credentials-client"),
oauth2.Secret("client-secret"),
),
["openid"],
)
let assert Ok(req) = oauth2.to_http_request(token_request)
let res = httpc.send(req)
echo res
}
Development
gleam run # Run the project
gleam test # Run the tests