userin-core

1.14.0 • Public • Published

userin-core · License

UserIn core component to build an OAuth 2.0 OpenID Connect web API that supports integration with the most popular Federated Identity Providers (e.g., Google, Facebook, GitHub)

npm i userin-core

Table of contents

Create a new UserIn Strategy

const { Strategy } = require('userin-core')
 
class CustomStrategy extends Strategy {
    constructor() {
        super()
        this.name = 'yourcustomstrategy'
        this.generate_token = (root, { type, claims }) => { /* Implement your logic here */ }
        this.get_client = (root, { client_id, client_secret }) => { /* Implement your logic here */ }
        this.get_end_user = (root, { user }) => { /* Implement your logic here */ }
        this.get_fip_user = (root, { strategy, user }) => { /* Implement your logic here */ }
        this.get_identity_claims = (root, { user_id, scopes }) => { /* Implement your logic here */ }
        this.get_token_claims = (root, { type, token }) => { /* Implement your logic here */ }
    }
}

To facilitate custom implementation, we've added a template here.

Utilities

token.id_token.addDateClaims(claims: Object[, expiryInSeconds: Number])

expiryInSeconds is optional. Its default value is 3600 seconds.

const { token } = require('userin-core')
 
const claims = { iss:'https://example.com', first_name:'Nic', last_name:'Dao' }
 
console.log(token.id_token.addDateClaims(claims, 3600))
 
// Prints:
// {
//  iss:'https://example.com', 
//  first_name:'Nic', 
//  last_name:'Dao',
//  iat: 1600148277,
//  exp: 1600151877
// }

Readme

Keywords

Package Sidebar

Install

npm i userin-core

Weekly Downloads

29

Version

1.14.0

License

BSD-3-Clause

Unpacked Size

34 kB

Total Files

10

Last publish

Collaborators

  • neapnic