# 登录认证
# Auth
# Auth.GetAuthStateAsync
# 1. 接口描述
接口功能:返回当前登录状态 AuthState
,如果未登录,则返回 null
接口声明:public async Task<AuthState> GetAuthStateAsync()
# 2. 输入参数
无
# 3. 输出参数
# AuthState
字段 | 类型 | 是否必备 | 说明 |
---|---|---|---|
AuthType | string | 是 | 登录类型 |
RefreshToken | string | 是 | refresh token |
AccessToken | string | 是 | access token |
# 4. 示例代码
using System;
using System.Threading.Tasks;
using CloudBase;
CloudBaseApp app = CloudBaseApp.Init("your-env-id", 3000);
AuthState state = await app.Auth.GetAuthStateAsync();
if (state == null) {
Console.WriteLine("未登录");
} else {
Console.WriteLine(state.AuthType);
}
# Auth.SignInWithTicketAsync
# 1. 接口描述
接口功能:使用自定义登录凭据 ticket
登录云开发
接口声明:public async Task<AuthState> SignInWithTicketAsync(string ticket)
# 2. 输入参数
字段 | 类型 | 必填 | 说明 |
---|---|---|---|
ticket | string | 是 | 自定义登录凭据 |
# 3. 输出参数
# AuthState
字段 | 类型 | 是否必备 | 说明 |
---|---|---|---|
AuthType | string | 是 | 登录类型 |
RefreshToken | string | 是 | refresh token |
AccessToken | string | 是 | access token |
# 4. 示例代码
using System.Threading.Tasks;
using CloudBase;
CloudBaseApp app = CloudBaseApp.Init("your-env-id", 3000);
AuthState state = await app.Auth.GetAuthStateAsync();
if (state == null) {
// 自定义登录
string ticket = "your-custom-ticket";
state = await app.Auth.SignInWithTicketAsync(ticket);
}
# Auth.SignInAnonymouslyAsync
# 1. 接口描述
接口功能:匿名登录云开发
接口声明:public async Task<AuthState> SignInAnonymouslyAsync()
# 2. 输入参数
无
# 3. 输出参数
# AuthState
字段 | 类型 | 是否必备 | 说明 |
---|---|---|---|
AuthType | string | 是 | 登录类型 |
RefreshToken | string | 是 | refresh token |
AccessToken | string | 是 | access token |
# 4. 示例代码
using System.Threading.Tasks;
using CloudBase;
CloudBaseApp app = CloudBaseApp.Init("your-env-id", 3000);
AuthState state = await app.Auth.GetAuthStateAsync();
if (state == null) {
// 匿名登录
state = await app.Auth.SignInAnonymouslyAsync();
}
# Auth.SignOutAsync
# 1. 接口描述
接口功能:登出云开发
接口声明:public async Task SignOutAsync()
# 2. 输入参数
无
# 3. 输出参数
无
# 4. 示例代码
using System.Threading.Tasks;
using CloudBase;
CloudBaseApp app = CloudBaseApp.Init("your-env-id", 3000);
// 登出
await app.Auth.SignOutAsync();
# Auth.GetUserInfoAsync
# 1. 接口描述
接口功能:获取用户云开发身份信息
接口声明:public async Task<UserInfo> GetUserInfoAsync()
# 2. 输入参数
无
# 3. 输出参数
# UserInfo
字段 | 类型 | 是否必备 | 说明 |
---|---|---|---|
Uuid | string | 是 | 用户在云开发的唯一ID |
Env | string | 是 | 用户使用的云开发环境 |
LoginType | string | 是 | 用户登录类型 |
Appid | string | 否 | 微信(开放平台或公众平台)应用appid |
Openid | string | 否 | 当前用户在微信(开放平台或公众平台)应用的openid |
NickName | string | 否 | 用户昵称 |
Gender | string | 否 | 用户性别,male(男)或female(女) |
Country | string | 否 | 用户所在国家 |
Province | string | 否 | 用户所在省份 |
City | string | 否 | 用户所在城市 |
AvatarUrl | string | 否 | 用户头像链接 |
# 4. 示例代码
using System.Threading.Tasks;
using CloudBase;
// 匿名登录
CloudBaseApp app = CloudBaseApp.Init("your-env-id", 3000);
AuthState state = await app.Auth.GetAuthStateAsync();
if (state == null) {
await app.Auth.SignInAnonymouslyAsync();
}
// 获取用户信息
UserInfo user = await app.Auth.GetUserInfoAsync();