Packages

A small, focused OAuth 2.0 library for Gleam, built on top of Gleams HTTP requests and responses.

Current section

Files

Jump to
flwr_oauth2 src flwr_oauth2@authentication.erl
Raw

src/flwr_oauth2@authentication.erl

-module(flwr_oauth2@authentication).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/flwr_oauth2/authentication.gleam").
-export([to_string/1]).
-export_type([client_authentication/0]).
-type client_authentication() :: {client_secret_basic,
flwr_oauth2@common:client_id(),
flwr_oauth2@common:secret()} |
{client_secret_post,
flwr_oauth2@common:client_id(),
flwr_oauth2@common:secret()} |
{public_authentication, flwr_oauth2@common:client_id()} |
{client_assertion, flwr_oauth2@common:client_id(), binary(), binary()}.
-file("src/flwr_oauth2/authentication.gleam", 32).
-spec to_string(client_authentication()) -> binary().
to_string(Client_auth) ->
case Client_auth of
{client_secret_basic, Client_id, _} ->
<<<<<<<<<<"ClientSecretBasic("/utf8, "client_id="/utf8>>/binary,
(erlang:element(2, Client_id))/binary>>/binary,
", "/utf8>>/binary,
"client_secret=***"/utf8>>/binary,
")"/utf8>>;
{client_secret_post, Client_id@1, _} ->
<<<<<<<<<<"ClientSecretPost("/utf8, "client_id="/utf8>>/binary,
(erlang:element(2, Client_id@1))/binary>>/binary,
", "/utf8>>/binary,
"client_secret=***"/utf8>>/binary,
")"/utf8>>;
{public_authentication, Client_id@2} ->
<<<<<<"PublicAuthentication("/utf8, "client_id="/utf8>>/binary,
(erlang:element(2, Client_id@2))/binary>>/binary,
")"/utf8>>;
{client_assertion, Client_id@3, _, Client_assertion_type} ->
<<<<<<<<<<<<<<"ClientSecretJwt("/utf8, "client_id="/utf8>>/binary,
(erlang:element(2, Client_id@3))/binary>>/binary,
", "/utf8>>/binary,
"client_assertion=***, "/utf8>>/binary,
"client_assertion_type="/utf8>>/binary,
Client_assertion_type/binary>>/binary,
")"/utf8>>
end.