auth0-react-lock
Version:
React Component for Auth0's Lock.js
140 lines (105 loc) • 3.15 kB
Markdown
[](http://auth0.com)
Reusable React component for [Auth0](http://auth0.com)'s [Lock Widget](https://github.com/auth0/lock).
[](https://auth0.com) is an authentication broker that supports social identity providers as well as enterprise identity providers such as Active Directory, LDAP, Google Apps, Salesforce.
[](https://github.com/auth0/lock) is a _drop and use_ widget for Auth0 which comes with most authentication options that you can think of:
[](http://auth0.com)
```bash
npm install --save auth0-react-lock
```
The component is what you are used to if you ever used React but this time with options to configure Lock and callbacks to handle authentication.
```js
showLock(){
this.refs.lock1.showLock();
}
hashHandler(err, profile){
if(err) console.log(err);
console.log(`:) ${profile}`)
}
render() {
return (
<div>
<Lock
clientID={Env.CLIENT_ID}
domain={Env.DOMAIN}
ref={"lock1"}
connections={['google-oauth2', 'facebook']}
socialBigButtons={false}
hashHandler={this.hashHandler}
/>
<button onClick={this.showLock.bind(this)}>Show</button>
</div>
);
}
```
```js
showLock(){
this.refs.lock1.showLock(function(err, profile){
if(err) console.log(err);
console.log(profile);
});
}
render() {
return (
<div>
<Lock
clientID={Env.CLIENT_ID}
domain={Env.DOMAIN}
ref={"lock1"}
connections={['google-oauth2', 'facebook']}
socialBigButtons={false}
popup={true}
/>
<button onClick={this.showLock.bind(this)}>Show</button>
</div>
);
}
```
```js
// If the contaaner property is set, lock will be automatically embedded
<Lock
container={"container-id"}
clientID={Env.CLIENT_ID}
domain={Env.DOMAIN}
ref={"lock1"}
connections={['google-oauth2', 'facebook']}
socialBigButtons={false}
popup={true}
/>
```
You can also grab an instance of lock:
```js
componentDidMount() {
this.lock = this.refs.lock1.getLock();
// And also grab Auth0.js instance
this.auth0js = this.lock.getClient();
}
```
The example to this component is implicit to the project.
```bash
npm install --g webpack-dev-server
git clone https://github.com/auth0/auth0-react-lock
npm install
webpack-dev-server
```
To run the tests:
Run `grunt`.
If you have found a bug or if you have a feature request, please report them at this repository issues section. Please do not report security vulnerabilities on the public GitHub issue tracker. The [Responsible Disclosure Program](https://auth0.com/whitehat) details the procedure for disclosing security issues.
[](auth0.com)
This project is licensed under the MIT license. See the [LICENSE](LICENSE) file for more info.