Pesquisar K
Appearance
Appearance
Com o objetivo de tornar o uso da autenticação com a Layers mais simples disponibilizamos um componente do botão da Layers. Para utilizar esse componente na sua aplicação, siga as instruções abaixo.
Para ter acesso ao componente do botão logar com a Layers será necessário importar o código da biblioteca de autenticação da Layers como mostrado no trecho de código abaixo. A importação do código deve ser feita na tag head para evitar que o recurso seja requisitado antes que ele tenha sido carregado.
<!DOCTYPE HTML>
<html>
<head>
<title>Minha Pagina</title>
<script src="https://js.layers.digital/v1/LayersAuth.js"></script>
</head>
</html><layers-auth-button
client-id="myapp",
scope="identity:basic:read"
response-type="code"
redirect-uri="https://myapp.com"
label="Continuar com"
></layers-auth-button>Uma vez importada a bibioteca, adicione o componente do botão à sua página passando os atributos obrigatórios:
mode: embedded: Abre um dialog na sua página com a tela de login da Layers para que o usuário digite suas credenciais.popup: Abre um popup em outra janela com a tela de login da Layers para que o usuário digite suas credenciais.redirect: Redireciona o usuário para a tela de login da Layers e depois redireciona de volta para o seu app passando o código como parâmetro na query.mode="redirect".label+ Layers.Além dos atributos obrigatórios, estão disponíveis também atributos de estilo para que o botão se adeque ao design na sua página. São eles:
dark resulta no botão verde enquanto usar o atributo lightou não usar nenhum dos dois resulta no botão branco.small, normal, mediume large. Para especificar o tamanho basta usar size="tamanho"flatraised.block o botão o botão se tornará flexível, ocupando todo o espaço horizontal do seu container.ìnherit-font. Quando for usado esse atributo, a fonte do botão será herdada do seu componente pai.Caso você tenha optado por usar o modo redirect, não será possível ouvir o evento como mostrado abaixo. Em vez disso, o código sera passado na chave code dos parâmetros na query.
GET https://seuapp.com/?code=ca34a65ba76de14886dc532a811740c844f610d5Para os modos embeddede popup o código que deve ser usado para obter o token de acesso do usuário pode ser obtido ouvindo a resposta do evento LayersAuth como mostrado no trecho de código abaixo.
<script>
LayersAuth.onResult((error, data) => {
if (error) {
//handle error
}
//use code to generate an OAuth token for the user
const code = data.code
})
</script>Por fim, use o código obtido para na requisição abaixo obter o token de autenticação do usuário, o qual deve ser utilizado como forma de autenticação nas rotas de dados do usuário na Layers.
curl -X POST https://api.layers.digital/oauth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code" \
-d "client_id={{client_id}}" \
-d "code={{code}}" \
-d "redirect_uri={{redirect_uri}}"A API deve retornar um JSON com o seguinte formato:
{
"access_token": "{{jwtToken}}",
"token_type": Bearer,
"expires_in": Number,
"state": String
}O access_token possuirá o token de autenticação do usuário na Layers.
Para utilizar o botão no mobile, é preciso tomar cuidado com alguns detalhes.
mode="redirect";In-App Browser ou o próprio Navegador do dispositivo. Isto se dá pois o Google possui uma política de bloqueio de Oauth para aplicações em web-view.Se você não seguir essas guidelines, provavelmente encontrará o erro abaixo:
