This plugin provides an authentication with passportjs strategies.
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 |
Here is an example of a configuration:
{
"strategies": {
"facebook": {
"credentials": {
"clientID": "<your-client-id>",
"clientSecret": "<your-client-secret>",
"callbackURL": "http://localhost:8080/_login/facebook"
},
"persist": [
"login",
"avatar_url",
"name",
"email"
],
"scope": [
"email",
"public_profile"
],
"kuzzleAttributesMapping": {
"userMail": "email"
},
"identifierAttribute": "id"
}
},
"defaultProfiles": [
"default"
]
}
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.
See Kuzzle documentation about plugin for more information about how to create your own plugin.