1.4.6 • Published 1 month ago
aesirx-sso v1.4.6
Integration SSO
Installation
npm i aesirx-sso
Usage in SSR site
- Download sso.js from https://github.com/aesirxio/sso/releases/latest
- copy
sso.js
to your project - Add script to
<head>
:
<script>
window.aesirxEndpoint="https://example.com"
window.aesirxClientSecret="[REPLACE THIS WITH THE PROVIDED CLIENT_SECRET]"
window.aesirxClientID="[REPLACE THIS WITH THE PROVIDED CLIENT_ID]"
window.aesirxAllowedLogins=['concordium', 'metamask', 'regular']
</script>
<script async defer src="YOUR_PROJECT_PATH/sso.js"></script>
CLIENT_ID
replace this with the providedCLIENT_ID
from https://dapp.shield.aesirx.io/CLIENT_SECRET
replace this with the providedCLIENT_SECRET
from https://dapp.shield.aesirx.io/aesirxAllowedLogins
are for which logins do you want to use and you have wallets set up
concordium
- Concordium wallet loginmetamask
- Metamask wallet loginregular
- Regular login to your site
Create button with window.handleSSO()
<script>
const onGetData = async (response) => {
//response is a Object that return from SSO, you can use it to handle Authentication in your Site
};
const onClickSSO = async () => {
await window.handleSSO(onGetData);
};
</script>
<button onclick="onClickSSO()"> SSO Login </button>
Usage in ReactJS
Add the environment variable file (.env
)
REACT_APP_SSO_CLIENT_ID=[REPLACE THIS WITH THE PROVIDED CLIENT_ID]
REACT_APP_SSO_CLIENT_SECRET=[REPLACE THIS WITH THE PROVIDED CLIENT_SECRET]
Using <SSOButton />
to create Login Button
you can pass className
, text
, options
props and onGetData
function to control it
options
are for which logins do you want to use and you have wallets set up:
concordium
- Concordium wallet loginmetamask
- Metamask wallet loginregular
- Regular login to your site
import { SSOButton } from 'aesirx-sso';
const onGetData = async (response) => {
//response is a Object that return from SSO, you can use it to handle Authentication in your App
/*
Example:
const authService = new AesirxAuthenticationApiService();
await authService.setTokenUser(response, false);
Storage.setItem('auth', true);
*/
};
<SSOButton
className="btn w-100 fw-medium btn-success position-relative d-flex align-item-center justify-content-center mt-3"
text={"SSO Login"}
onGetData={onGetData}
options={['concordium', 'metamask', 'regular']}
/>
Usage in NextJS
Add the environment variable file (.env
)
NEXT_PUBLIC_SSO_CLIENT_ID=[REPLACE THIS WITH THE PROVIDED CLIENT_ID]
NEXT_PUBLIC_SSO_CLIENT_SECRET=[REPLACE THIS WITH THE PROVIDED CLIENT_SECRET]
Using <SSOButton />
to create Login Button
you can pass className
, text
props and onGetData
function to control it
options
are for which logins do you want to use and you have wallets set up:
concordium
- Concordium wallet loginmetamask
- Metamask wallet loginregular
- Regular login to your site
import { SSOButton } from 'aesirx-sso';
const onGetData = async (response) => {
//response is a Object that return from SSO, you can use it to handle Authentication in your App
/*
Example:
await updateUserData(response.access_token);
redirectProfile(response.access_token);
*/
};
<SSOButton
className="btn w-100 fw-medium btn-success position-relative d-flex align-item-center justify-content-center mt-3"
text={"SSO Login"}
onGetData={onGetData}
options={['concordium', 'metamask', 'regular']}
/>
1.4.6
1 month ago
1.4.5
5 months ago
1.4.4
5 months ago
1.2.0
9 months ago
1.1.1
10 months ago
1.1.0
10 months ago
1.4.3
6 months ago
1.4.2
6 months ago
1.4.1
7 months ago
1.2.3
8 months ago
1.4.0
7 months ago
1.2.2
8 months ago
1.3.0
8 months ago
1.2.1
9 months ago
1.0.11
11 months ago
1.0.10
12 months ago
1.0.9
1 year ago
1.0.8
1 year ago
1.0.7
1 year ago
1.0.6
1 year ago
1.0.5
1 year ago
1.0.4
1 year ago
1.0.3
1 year ago
1.0.2
1 year ago
1.0.1
1 year ago
1.0.0
1 year ago