/// <summary> /// 获取白名单 /// </summary> /// <param name="type">白名单类型,USERNAME 为用户名、Email 为邮箱、Phone 为手机号。</param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <IEnumerable <WhiteList> > List(WhitelistType type, CancellationToken cancellationToken = default) { var param = new WhitelistParam(type); var res = await client.Request <WhitelistResponse>(param.CreateRequest(), cancellationToken); return(res.Result); }
/// <summary> /// 用户池详情 /// </summary> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <UserPool> Detail(CancellationToken cancellationToken = default) { var param = new UserpoolParam(); await client.GetAccessToken(); var res = await client.Request <UserpoolResponse>(param.CreateRequest(), cancellationToken); return(res.Result); }
/// <summary> /// 设置自定义字段元数据,如果字段不存在则会创建,存在会更新 /// </summary> /// <param name="type">自定义字段目标类型, USER 表示用户、ROLE 表示角色。</param> /// <param name="key">字段 key</param> /// <param name="dataType">数据类型,目前共支持五种数据类型。STRING 为字符串、NUMBER 为数字、DATETIME 为日期、BOOLEAN 为 boolean 值、OBJECT 为对象。</param> /// <param name="label">字段 Label,一般是一个 Human Readable 字符串。</param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <UserDefinedField> Set( UdfTargetType type, string key, UdfDataType dataType, string label, CancellationToken cancellationToken = default) { var param = new SetUdfParam(type, key, dataType, label); var res = await client.Request <SetUdfResponse>(param.CreateRequest(), cancellationToken); return(res.Result); }
/// <summary> /// 更新用户池信息 /// </summary> /// <param name="updates"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <UserPool> Update(UpdateUserpoolInput updates, CancellationToken cancellationToken = default) { var param = new UpdateUserpoolParam(updates); var res = await client.Request <UpdateUserpoolResponse>(param.CreateRequest(), cancellationToken); return(res.Result); }
/// <summary> /// 允许某个用户操作某个资源 /// </summary> /// <param name="resource"></param> /// <param name="action"></param> /// <param name="userId"></param> /// <param name="role"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <CommonMessage> Allow( string resource, string action, string userId = null, string role = null, CancellationToken cancellationToken = default) { var param = new AllowParam(resource, action) { UserId = userId, RoleCode = role, }; await client.GetAccessToken(); var res = await client.Request <AllowResponse>(param.CreateRequest(), cancellationToken); return(res.Result); }
/// <summary> /// 获取分组列表 /// </summary> /// <param name="page">分页页数,默认为 1</param> /// <param name="limit">分页大小,默认为 10</param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <PaginatedGroups> List( int page = 1, int limit = 10, CancellationToken cancellationToken = default) { var param = new GroupsParam() { Page = page, Limit = limit, }; await client.GetAccessToken(); var res = await client.Request <GroupsResponse>(param.CreateRequest(), cancellationToken); return(res.Result); }
/// <summary> /// 获取策略列表 /// </summary> /// <param name="page">分页页数,默认为 1</param> /// <param name="limit">分页大小,默认为 10</param> /// <param name="excludeDefault">包含系统默认的策略,默认为 true</param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <PaginatedPolicies> List( int page = 1, int limit = 10, bool excludeDefault = true, CancellationToken cancellationToken = default) { var param = new PoliciesParam() { Page = page, Limit = limit, // ExcludeDefault = excludeDefault, }; await client.GetAccessToken(); var res = await client.Request <PoliciesResponse>(param.CreateRequest(), cancellationToken); return(res.Result); }
/// <summary> /// 创建分组 /// </summary> /// <param name="code">分组唯一标志</param> /// <param name="name">分组名称</param> /// <param name="description">描述</param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <Group> Create( string code, string name, string description = null, CancellationToken cancellationToken = default) { var param = new CreateGroupParam(code, name) { Description = description, }; var res = await client.Request <CreateGroupResponse>(param.CreateRequest(), cancellationToken); return(res.Result); }
public async Task <Types.Org> Create(string name, string description = null, string code = null, CancellationToken cancellationToken = default) { var param = new CreateOrgParam(name) { Description = description, Code = code }; var res = await client.Request <CreateOrgResponse>(param.CreateRequest(), cancellationToken); return(res.Result); }
/// <summary> /// 创建用户 /// </summary> /// <param name="userInfo">用户信息</param> /// <param name="cancellationToken"></param> /// <returns></returns> /// TODO: 下一个大版本移除 public async Task <User> Create( CreateUserInput userInfo, bool keepPassword = false, CancellationToken cancellationToken = default) { userInfo.Password = client.Encrypt(userInfo.Password); var param = new CreateUserParam(userInfo) { KeepPassword = keepPassword, }; var res = await client.Request <CreateUserResponse>(param.CreateRequest(), cancellationToken); return(res.Result); }
/// <summary> /// 创建角色 /// </summary> /// <param name="code">角色唯一标志</param> /// <param name="description">角色描述</param> /// <param name="parentCode">父角色唯一标志</param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <Role> Create( string code, string description = null, string parentCode = null, CancellationToken cancellationToken = default) { var param = new CreateRoleParam(code) { Description = description, Parent = parentCode, }; var res = await client.Request <CreateRoleResponse>(param.CreateRequest(), cancellationToken); return(res.Result); }