@oneauth/sdk-core
v0.0.5
Published
oneauth sdk
Downloads
4
Readme
@oneauth/sdk-core
@oneauth/sdk-core 可单独使用。@oneauth/sdk-core 会提供登录登出和鉴权所需的方法。
也可搭配@oneauth/sdk-react 或者@oneauth/sdk-vue 使用。
@oneauth/sdk-react 和@oneauth/sdk-vue 中会提供对路由的鉴权功能和准备好的登录重定向页面
安装
npm install --save @oneauth/sdk-core
初始化 sdk
初始化时需要传入 issuer
, clientId
, redirectUri
, scopes
,
这些值可以从 oneauth 控制台得到
初始化 sdk 之后,
参数
- issuer:将租户名替换成实际的名字
- redirectUri: 指向登录回调页面,登录完成后会将 code 和 state 或错误信息,作为 query 传递到这个 url 上。在@oneauth/vue, @oneauth/vue-next, @oneauth/react 中提供了
<login-callback />
组件,将该组件挂在到 redirectUri 上,后自动处理返回的信息 - clientId: 在 oneauth 控制台的应用详情页面可得到
- scopes: 可照如下填写
import OneAuth from '@oneauth/sdk-core';
const oneAuth = new OneAuth({
issuer: `https://${租户名}.oneauth.cn/oauth/v1`,
clientId: `2YXXZ78611K0c8906MX6RJ8c0s84VcQB`,
redirectUri: `http://localhost:3000/callback`,
scopes: ['openid', 'profile', 'email'],
});
方法
- 登录
调用oneauth.login
,传入redirectUri
参数,则会在登录完成之后跳转回这个网址
oneauth.login({
redirectUri: 'http://localhost:3000/redirectUri',
});
- 登出当前应用。当前应用会被登出,当在 OneAuth 上的登录状态会被保留
调用oneauth.logoutThisApp
oneauth.logoutThisApp();
- 登出 OneAuth
调用oneauth.logoutOneAuth
, 传入redirectUri
参数,将会在登出完成之后跳转到这个网址
oneauth.logoutOneAuth({
redirectUri: 'http://location:3000/xxx',
});
- 获取 accessToken
const accessToken = oneauth.accessToken;
- 获取 idToken
const idToken = oneauth.idToken;
- 获取用户信息
可传入泛型,以获得类型约束
type User = unknown;
const userInfo = await oneauth.getUserInfo<User>();
- 获取当前用户的登录状态
/**
* 是否登录了
**/
const isAuthed = await oneauth.isAuthenticated();
- 校验从登录重定向页面获取的 code 和 state
登录之后,oneauth 会重定向到实例化时传入的redirectUri
对应的页面。
并在 query 中带上参数code
和state
。
将参数传入本方法,返回布尔值,标识 code 是否有效
const isValid = await oneauth.verify(code, state);