# 登录认证

# 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();