Estratégia de passaporte para autenticação com contas da Microsoft (também conhecida como Windows Live) usando a API OAuth 2.0.
Este módulo permite autenticar usando o Windows Live em seus aplicativos Node.js. Ao conectar-se ao Passport, a autenticação do Windows Live pode ser integrada de maneira fácil e discreta a qualquer aplicativo ou estrutura que suporte middleware estilo Connect, incluindo o Express.
$ npm install passport-windowslive
Antes de usar passport-windowslive
, você deve registrar um aplicativo na Microsoft. Caso ainda não tenha feito isso, um novo aplicativo pode ser criado no gerenciamento de aplicativos Live Connect. Seu aplicativo receberá um ID de cliente e um segredo de cliente, que precisam ser fornecidos à estratégia. Você também precisará configurar um URL de redirecionamento que corresponda à rota em seu aplicativo.
A estratégia de autenticação do Windows Live autentica usuários usando uma conta do Windows Live e tokens OAuth 2.0. O ID do cliente e o segredo obtidos na criação de uma aplicação são fornecidos como opções na criação da estratégia. A estratégia também requer um retorno de chamada verify
, que recebe o token de acesso e o token de atualização opcional, bem como profile
que contém o perfil do Windows Live do usuário autenticado. O retorno de chamada verify
deve chamar cb
fornecendo um usuário para concluir a autenticação.
passport.use(new WindowsLiveStrategy({ clientID: WINDOWS_LIVE_CLIENT_ID, clientSecret: WINDOWS_LIVE_CLIENT_SECRET, callbackURL: "http://www.example.com/auth/windowslive/callback" }, function(accessToken, refreshToken, profile, cb) { User.findOrCreate({ windowsliveId: profile.id }, function (err, user) { return cb(err, user); }); } ));
Usepassport.authenticate passport.authenticate()
, especificando a estratégia 'windowslive'
, para autenticar solicitações.
Por exemplo, como middleware de rota em uma aplicação Express:
app.get('/auth/windowslive', passport.authenticate('windowslive', { scope: ['wl.signin', 'wl.basic'] })); app.get('/auth/windowslive/callback', passport.authenticate('windowslive', { failureRedirect: '/login' }), function(req, res) { // Successful authentication, redirect home. res.redirect('/'); });
Os desenvolvedores que usam a popular estrutura da web Express podem consultar um exemplo como ponto de partida para seus próprios aplicativos da web. O exemplo mostra como autenticar usuários usando o Facebook. No entanto, como tanto o Facebook quanto o Windows Live usam OAuth 2.0, o código é semelhante. Basta substituir as referências ao Facebook pelas referências correspondentes ao Windows Live.
Sua solicitação de autenticação deve incluir wl.offline_access
conforme detalhado em escopos e permissões.
passaporte.authenticate('windowslive', { escopo: [ 'wl.offline_access' ] })
O conjunto de testes está localizado no diretório test/
. Espera-se que todos os novos recursos tenham casos de teste correspondentes. Certifique-se de que o conjunto de testes completo seja aprovado executando:
$ fazer teste
Espera-se que todo o desenvolvimento de novos recursos tenha cobertura de teste. Patches que aumentam a cobertura do teste são aceitos com satisfação. Os relatórios de cobertura podem ser visualizados executando:
$ fazer teste-cov $ fazer visualizar-cov
Este software é fornecido a você como código aberto, gratuitamente. O tempo e esforço para desenvolver e manter este projeto são dedicados por @jaredhanson. Se você (ou o seu empregador) beneficiar deste projeto, considere uma contribuição financeira. Sua contribuição ajuda a continuar os esforços que produzem este e outros softwares de código aberto.
Os fundos são aceitos via PayPal, Venmo e outros métodos. Qualquer quantia é apreciada.
A licença do MIT
Direitos autorais (c) 2011-2016 Jared Hanson <http://jaredhanson.net/>