Sendy authentication vue plugin to facilitate both basic and social authentication
npm install @sendyit/authBasic and social authentication components for your frontend applications
Please note that all dependencies need to be installed for sendy auth to work properly
``js`
npm i @sendyit/auth
function`js
import SendyAuth from '@sendyit/auth'Vue.use(SendyAuth)
`The plugin can be configured by passing an options object as a second argument
`js
import SendyAuth from '@sendyit/auth'Vue.use(SendyAuth, {
// social authentication driver: 'google'
// default: google
driver: 'google',
// internal authentication url
authUrl: null,
// custom configurations for social drivers
configs: {
google: {
// google's client key & identification for gapi
clientId: ''
}
}
})
`Usage
The sendy authentication plugin exposes two main components that are automatically injected into the main Vue instance upon initialization1. Social Authentication Component sendy-auth-social
2. Basic Authentication Component sendy-auth-basic
$3
Include any of the two components in your .vue files as follows
`html
// social authentication component
// basic authentication component
``NOTE: @sendyit/auth does not have support for running both basic and social authentication (yet) so only include one component at a time
CONGRATULATIONS! You have implemented authentication using sendy auth. :)
Sendy auth components can be customised to suite your needs by passing props and listening to events
#### Social Component API
| prop name | default value | type | prop description |
|--------------|-----------------------------|--------|----------------------------------|
| app-name | Sendy Authentication Plugin | string | Sets the application name |
| button-text | Login | string | Sets submit button text |
| loading-text | Logging in ... | string | Sets text shown while processing |
#### Basic Component API
| prop name | default value | type | prop description |
|----------------------|-----------------------------|---------|-----------------------------------------------------------|
| form-header | Log in to Sendy | string | Sets the heading on the form |
| username-placeholder | Enter Email | string | Sets the placeholder text on the username field |
| password-placeholder | Password | string | Sets the placeholder text on the password field |
| button-text | Login | string | Sets submit button text |
| loading-text | Logging in ... | string | Sets text shown while processing |
| reset-link | # | string | Sets link to trigger password resets |
| reset-link-text | Forgot password? | string | Sets text shown on the reset link |
| register-link | # | string | Sets link to trigger registration |
| register-link-text | Sign Up | string | Sets text shown on the registration link |
| username | email | string | Determines the property that will be used as the username |
| password | password | string | Determines the property that will be used as the password |
| theme | blue | string | Sets the theme color. Allowed values: 'blue' & 'orange' |
| encrypt | false | boolean | Encrypt the password before sending the payload |
#### Events
The following events are triggered upon execution for both components
| event name | type | event description |
|---------------|--------|---------------------------------------------------------------|
| authenticated | object | Returns an object with the token on successful authentication |
| error | object | Returns an error object in case authentication failed |