1.0.0 • Published 2 years ago

@maazyousafzai/react-native-slacklogin v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

React Native Slack login

Install

npm install react-native-slacklogin --save
  • How to get Client ID and Client Secret of slack?

You'll need credentials to use Sign in with Slack. To retrieve your Client ID and secret, you'll need to create a Slack App if you haven't already.

npm.io

in OAuth & Permissions section, add Redirect URLs

after that, you must complete steps in Basic Information

-Add features and functionality
-Install your app to your workspace
-Manage distribution

Usage:

import SlackLogin from 'react-native-slacklogin'
<View>
    <TouchableOpacity onPress={()=> this.slackLogin.show()}>
        <Text style={{color: 'white'}}>Login</Text>
    </TouchableOpacity>
    <SlackLogin
          ref={ref => this.slackLogin = ref}
          clientId='your client id'
          clientSecret='your client secret'
          redirectUrl='your redirect url'
          scopes={['chat:write:user', 'channels:read']}
          onLoginSuccess={(token) => this.setState({ token })}
          onLoginFailure={(data) => this.setState({ failure: data })}
        />
</View>

Props

PropertyTypeDescription
clientIdPropTypes.stringSlack App ClientId, issued when you created your app (required)
clientSecretPropTypes.stringclientSecret App ClientId, issued when you created your app (required)
scopesPropTypes.arrayPermissions to request
redirectUrlPropTypes.stringURL to redirect back to, get it in OAuth & Permissions tab
onLoginSuccessPropTypes.funcFunction will be call back on success
onLoginFailurePropTypes.funcFunction will be call back on error
onClosePropTypes.funcFunction will be call back on close modal
modalVisiblePropTypes.booltrue or false
renderClosePropTypes.funcRender function for customize close button
containerStylePropTypes.objectCustomize container style
wrapperStylePropTypes.objectCustomize wrapper style
closeStylePropTypes.objectCustomize close style

Logout

To logout use clear cookies by using https://github.com/joeferraro/react-native-cookies

import CookieManager from 'react-native-cookies';

  logout() {
    CookieManager.clearAll()
      .then((res) => {
        console.log('CookieManager.clearAll =>', res);
        this.setState({ token: '' })
      });
  }

Pull request

Pull requests are welcome!

1.0.0

2 years ago