Giter VIP home page Giter VIP logo

kuzzle-plugin-auth-passport-oauth's Introduction

Build Status

Plugin Passport OAUTH Authentication

This plugin provides OAUTH2 authentication using Passport.js strategies.

Compatibility matrice

Kuzzle Version Plugin Version
1.x.x 4.x.x
2.x.x 5.x.x

Configuration

To edit the configuration of a plugin see custom plugin configuration.

List of available configurations:

Name Default value Type Description
strategies {} Object List of the providers you want to use with passport
credentials {} Object Credentials provided by the provider
persist {} Object Attributes you want to persist if the user doesn't exist
scope [] Array List of fields in the OAUTH 2.0 scope of access
identifierAttribute String Attribute from the profile of the provider to use as Id if you want to persist the user in Kuzzle
defaultProfile "default" Array Profiles of the new persisted user
kuzzleAttributesMapping {} Object Mapping of attributes to persist in the user persisted in Kuzzle
passportStrategy ''  String Strategy name for passport (eg. google-oauth20 while the name of the provider is google)

Here is an example of a configuration:

{
    "strategies": {
        "facebook": {
            "passportStrategy": "facebook",
            "credentials": {
                "clientID": "<your-client-id>",
                "clientSecret": "<your-client-secret>",
                "callbackURL": "http://localhost:8080/_login/facebook",
                "profileFields": ["id", "name", "picture", "email", "gender"]
            },
            "persist": [
                "login",
                "avatar_url",
                "name",
                "email"
            ],
            "scope": [
                "email",
                "public_profile"
            ],
            "kuzzleAttributesMapping": {
              "userMail": "email" // will store the attribute "email" as "userEmail" into Kuzzle
            },
            "identifierAttribute": "id"
        }
    },
    "defaultProfiles": [
        "default"
    ]
}

Usage

The easiest way to implement an oauth authentication in your front-end is to use the sdk login oauth popup module

See Kuzzle API Documentation for more details about Kuzzle authentication mechanism.

How to create a plugin

See Kuzzle documentation for more information about how to create your own plugin.

kuzzle-plugin-auth-passport-oauth's People

Contributors

jenow avatar scottinet avatar aschen avatar xbill82 avatar dbengsch avatar benoitvidis avatar etrousset avatar melmag avatar stafyniaksacha avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.