🛂 Gleam Microsoft Authorization Library

🚧 Work in progress not production ready.

Gleam integration to MSAL, @azure/msal-browser.

Mais sobre MS OAuth2.

⚠️ Alerta:

Login user without hint

Package Version Hex Docs

gleam add gbr_msal@1

Development

gleam run   # Run the project
gleam test  # Run the tests

⚡ Funcionalidades

🎨 Misc

🍸 Exemplos

✈️ Utilizando

Adicione a dependência ao seu projeto:

gleam add gbr_msal

Faça seu primeiro login na microsoft usando o Gleam ⭐

import gbr/msal

pub fn main() {
  let cfg =
    msal.cfg("client_id")
    |> msal.cfg_add_auth("authority", "https://login.microsoftonline/common")
    |> msal.cfg_add_cache("cacheLocation", "localStorage")

  use msal <- promise.try_await(msal.new(cfg))
  use response <- promise.map_try(msal.login(msal, msal.popup, None))

  msal.res_get(response, "idToken") |> echo
  msal.res_get(response, "accessToken") |> echo
  msal.res_parent_get(response, "account", "username") |> echo
  msal.res_parent_get(response, "account", "name") |> echo
}

Ou, consulte dados da conta de usuário ativa no cache msal-browser:


import gbr/msal
import gbr/msal/account.{account_active}

pub fn main() {
  let cfg =
    msal.cfg("client_id")
    |> msal.cfg_add_auth("authority", "https://login.microsoftonline/common")
    |> msal.cfg_add_cache("cacheLocation", "localStorage")

  use msal <- promise.map_try(msal.new(cfg))
  use account_active <- result.try(account_active(msal))

  echo account_active
}

Mais sobre e documentação pode ser encontrada aqui https://hexdocs.pm/gbr_msal.

🧪 Contribuindo

🌄 Roadmap

Search Document