🛂 Gleam Microsoft Authorization Library
🚧 Work in progress not production ready.
Gleam integration to MSAL, @azure/msal-browser.
Mais sobre MS OAuth2.
⚠️ Alerta:
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
- Unit tests
- More docs
-
GH workflow
- test & build
- changelog & publish