@desco/social-auth
v1.1.1
Published
Login in social networks
Downloads
1
Readme
Veja outros projetos NPM aqui.
Veja outros projetos aqui.
📋 Tabela de conteúdos
✔️ Recursos
- [x] Google;
- [ ] Facebook;
- [ ] Twitter;
- [ ] Instagram;
- [ ] Linkedin;
- [ ] Steam;
🛠️ Tecnologias
As seguintes tecnologias são utilizadas:
⚙️ Instalação
npm install --save @desco/social-auth
Note que será necessário ter o NPM instalado para o comando funcionar.
📦 Importação
const SocialAuth = require('@desco/social-auth')
📚 Como Usar
Iniciando
Iniciamos a API da Google passando como parâmetro um JSON com:
- id - Id da API da Google;
- key - Chave da API da Google;
- callbackUrl - URL para onde a Google deve redirecionar o usário após o login;
const Google new SocialAuth.Google({
id: googleId,
key: googleKey,
callbackUrl: 'http://my-domain.com:8080/google-cb/'
})
Recuperando URL de Login
Com a API Google iniciada, precisamos gerar uma URL de login da Google a qual deverá ser retornada para que o front-end redirecione o usuário.
Como parâmetr devemos passar um array contendo todos os escopos da Google que desejamos ter acesso com o login.
const url = Google.generateAuthUrl([ 'userinfo.email', 'userinfo.profile', ])
Note que somente o nome do escopo é necessário e não a URL inteira
Setando Credenciais
Após o usuário realizar o login, a Google irá redirecioná-lo devolta para a callbackUrl informada na inicialização da API.
Nesse redirecionamento será informado via querystring o parâmetro code que iremos utilizar para setar as credenciais do usuário na nossa API e receber o token de acesso.
const token = await Google.setCredentials(code)
Recuperando Informações do Usuário
Com as credenciais setadas, podemos recuperar os dados da conta Google do usuário:
const data = Google.userInfo()
Os dados retornados serão aqueles referentes aos escopos solicitados na geração de URL de login e que o usuário deverá ter permitido acesso.
Checando o Acesso
Com as credenciais setadas, também podemos verificar se o acesso ainda é valido e ativo:
const valid = Google.checkAccess()