qipp-services-oauth
v1.0.1
Published
OAuth service for Angular application.
Downloads
3
Readme
qipp-services-oauth
General
The oauth provider exposes two methods in order to manage the OAuth connection with a given provider and then the automated checking after a the redirection process.
Install
npm i qipp-services-oauth
Angular usage
General
Some properties are mandatory and need to be set as defaults in the configuration phase of your Angular application:
// Mandatory properties are the client id (see qipp-services-auth)
// and the redirection route.
oauthProvider.defaults.clientId = 123
// Prefix, providers and responseType have default values.
oauthProvider.defaults.prefix = '/'
oauthProvider.defaults.providers: {
facebook: {
clientId: undefined, // Must be set in you application.
scope: 'email',
uri: 'https://www.facebook.com/dialog/oauth'
},
google: {
clientId: undefined, // Must be set in you application.
scope: 'email profile',
uri: 'https://accounts.google.com/o/oauth2/auth'
}
}
checkIn method
This method must be performed in a controller associated to the redirectUri location. It will check, just after the OAuth redirection, if an access token has been provided as a query parameter. Then it uses the auth server and the API one in order to get the user:
.controller('OAuthLoginController', [
'oauth',
function (
oauth
) {
// Perfom the OAuth check in.
oauth.checkIn()
}
])
goTo method
This method should be used in order to init the OAuth process with a given provider, i.e. reaching the correct provider endpoint that will then redirect the client to redirectUri set as a second argument:
oauth.goTo('facebook', 'home')
Tools
Linting with StandardJS
Please refer to the JavaScript Standard Style for general rules.
npm run lint
Unit testing with Karma
npm test
Requirements
Angular
- angular 1.4.3
- angular-route 1.4.3
Qipp modules
- qipp-services-auth 1.1.2
- qipp-services-io 1.0.1
- qipp-services-resource 1.0.5
- qipp-services-session 1.1.0
- qipp-services-user 1.0.0
- qipp-services-utils 1.1.0
Licence
Released under the MIT license by qipp.