npm i aesirx-sso
sso.js
to your project<head>
:<script>
window.aesirxEndpoint="https://example.com"
window.aesirxClientSecret="[Replace this with the provided SSO CLIENT ID]"
window.aesirxClientID="[Replace this with the provided SSO CLIENT SECRET]"
window.aesirxAllowedLogins=['concordium', 'metamask', 'regular']
</script>
<script async defer src="https://github.com/aesirxio/sso/raw/master/YOUR_PROJECT_PATH/sso.js"></script>
SSO CLIENT ID
replace this with the provided SSO CLIENT ID
from https://dapp.shield.aesirx.io/licensesSSO CLIENT SECRET
replace this with the provided SSO CLIENT SECRET
from https://dapp.shield.aesirx.io/licensesaesirxAllowedLogins
are for which logins do you want to use and you have wallets set upconcordium
- Concordium wallet loginmetamask
- Metamask wallet loginregular
- Regular login to your site<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>
.env
)REACT_APP_SSO_CLIENT_ID=[Replace this with the provided SSO CLIENT ID from https://dapp.shield.aesirx.io/licenses]
REACT_APP_SSO_CLIENT_SECRET=[Replace this the provided SSO CLIENT SECRECT from https://dapp.shield.aesirx.io/licenses]
<SSOButton />
to create Login Buttonyou 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 siteimport { 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']}
/>
.env
)NEXT_PUBLIC_SSO_CLIENT_ID=[Replace this with the provided SSO CLIENT ID from https://dapp.shield.aesirx.io/licenses]
NEXT_PUBLIC_SSO_CLIENT_SECRET=[Replace this the provided SSO CLIENT SECRECT from https://dapp.shield.aesirx.io/licenses]
<SSOButton />
to create Login Buttonyou 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 siteimport { 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']}
/>