OAuth 2.0 for the masses!
<strong> Docs • Demo </strong>
Supported Browsers
If a version isn't specified that means we test on the latest and greatest, however most versions of that browser should work.
- Chrome
- Firefox
- Safari 8+ (7.1 and below require a Promise polyfill)
- Edge
- IE 10+ (Requires a Promise polyfill)
Promise Polyfill
Here's a list of well known ES6 Promise implementations developed by the community!
Any other ES6 Promise implementation will work as well!
Install
You can install this package either with npm
or with bower
.
npm
$ npm install @salte-auth/salte-auth
Then add a <script>
to your index.html:
<script src="/node_modules/@salte-auth/dist/salte-auth.js"></script>
Or require('@salte-auth/salte-auth')
from your code.
bower
$ bower install salte-auth/salte-auth
Then add a <script>
to your index.html:
<script src="/bower_components/salte-auth/dist/salte-auth.js"></script>
HTML Imports (Polymer 1.x - 2.x)
We also support HTML Imports:
<link rel="import" href="/bower_components/salte-auth/salte-auth.html">
ES6 Usage
import { SalteAuth } from '@salte-auth/salte-auth';
// Configure SalteAuth with Auth0's url and client id.
const auth = new SalteAuth({
providerUrl: 'https://salte-os.auth0.com',
responseType: 'id_token',
redirectUrl: location.origin,
clientId: '9JTBXBREtckkFHTxTNBceewrnn7NeDd0',
scope: 'openid',
routes: [
'http://localhost:8080/account'
],
endpoints: [
'https://jsonplaceholder.typicode.com/posts/1'
],
provider: 'auth0'
});
// Display an iframe to the user that allows them to login
auth.loginWithIframe();
ES5 Usage
<!DOCTYPE html>
<html>
<head>
<script src="/node_modules/@salte-auth/salte-auth/dist/salte-auth.js"></script>
<script>
const auth = new salte.SalteAuth({
providerUrl: 'https://salte-alpha.auth0.com',
responseType: 'id_token',
redirectUrl: location.origin,
clientId: 'mM6h2LHJikwdbkvdoiyE8kHhL7gcV8Wb',
scope: 'openid',
routes: [
'http://localhost:8080/account'
],
endpoints: [
'https://jsonplaceholder.typicode.com/posts/1'
],
provider: 'auth0',
});
auth.loginWithIframe();
</script>
</head>
<body>
...
</body>
</html>
Known Issues
These are issues that we know about, but don't have a clear fix for!
There are currently no known issues, thanks for checking!
Debugging
Debug logging can be enabled by setting a localStorage
variable of debug
to @salte-auth/salte-auth*
.
Documentation
Click here to view the documentation!
Use private or undocumented methods at your own risk, as they will not require a major version bump when breaking changes are made!
Shoutouts
- Auth0 - For providing us with an open source tenant!