# Authing - CSharp
Authing C# SDK 由两部分组成:ManagementClient
和 AuthenticationClient
。ManagementClient
中进行的所有操作均以管理员的身份进行,包含管理用户、管理角色、管理权限策略、管理用户池配置等模块。AuthenticationClient
中的所有操作以当前终端用户的身份进行,包含登录、注册、修改用户资料、退出登录等方法。
你应该将初始化过后的 ManagementClient
实例设置为一个全局变量(只初始化一次),而 AuthenticationClient
应该每次请求初始化一个。
# 安装
通过 Nuget 安装 (opens new window):
Install-Package Authing.ApiClient
# 使用管理模块
初始化 ManagementClient
需要 userPoolId
(用户池 ID) 和 secret
(用户池密钥):
using Authing.ApiClient;
var managementClient = new ManagementClient("AUTHING_USERPOOL_ID", "AUTHING_USERPOOL_SECRET");
现在 ManagementClient()
实例就可以使用了。例如可以获取用户池中的用户列表:
var managementClient = new ManagementClient("AUTHING_USERPOOL_ID", "AUTHING_USERPOOL_SECRET");
var data = await managementClient.Users.List();
# 使用认证模块
初始化 ManagementClient
需要 AppId
(应用 ID):
你可以在控制台的 应用 中查看自己的应用列表。
using Authing.ApiClient;
var authenticationClient = new AuthenticationClient(opt =>
{
opt.AppId = "AUTHING_APP_ID";
});
接下来可以进行注册登录等操作:
var username = GetRandomString(10);
var password = GetRandomString(10);
var user = await authenticationClient.LoginByUsername(
username,
password,
)
完成登录之后,update_profile
等要求用户登录的方法就可用了:
await authenticationClient.UpdateProfile(new UpdateUserInput() {
Nickname = "Nick",
})
你也可以在初始化后设置 AccessToken
参数, 不需要每次都调用 LoginByXXX
方法:
using Authing.ApiClient;
using Authing.ApiClient;
var authenticationClient = new AuthenticationClient(opt =>
{
opt.AppId = "AUTHING_APP_ID";
});
authenticationClient.AccessToken = "access token";
再次执行 UpdateProfile
方法,发现也成功了:
await authenticationClient.UpdateProfile(new UpdateUserInput() {
Nickname = "Nick",
})
# 错误处理
# 获取帮助
Join us on Gitter: #authing-chat (opens new window)
# 接口索引
可用的 Authentication 方法
- 获取当前用户的用户资料:
CurrentUser
- 使用邮箱注册:
RegisterByEmail
- 使用用户名注册:
RegisterByUsername
- 使用手机号验证码注册:
RegisterByPhoneCode
- 使用邮箱登录:
LoginByEmail
- 使用用户名登录:
LoginByUsername
- 使用手机号验证码登录
LoginByPhoneCode
- 使用手机号密码登录:
LoginByPhonePassword
- 发送邮件:
SendEmail
- 发送短信验证码:
SendSmsCode
- 检查 token 的有效状态:
CheckLoginStatus
- 使用手机号验证码重置密码:
ResetPasswordByPhoneCode
- 使用邮件验证码重置密码:
ResetPasswordByEmailCode
- 更新用户资料:
UpdateProfile
- 更新密码:
UpdatePassword
- 更新手机号:
UpdatePhone
- 更新邮箱:
UpdateEmail
- 刷新 token:
RefreshToken
- 绑定手机号:
BindPhone
- 解绑手机号:
UnbindPhone
- 添加当前用户自定义字段值:
SetUdv
- 获取当前用户的自定义字段值:
ListUdv
- 删除当前用户自定义字段值:
RemoveUdv
详情请见:
认证核心模块管理模块包含以下子模块:
管理用户 管理角色 管理策略 管理权限、访问控制 管理分组 管理自定义字段元数据 管理用户池配置 管理注册白名单