登录方式
CloudBase 提供多种身份认证方式,在使用前需要先开启所需的登录方式。您可以通过控制台或 SDK 两种方式来管理登录方式的开启和关闭。
前提条件
- 已创建云开发环境
- 了解不同登录方式的适用场景,详见 支持的登录方式
通过控制台管理
开启登录方式
- 前往 云开发平台/身份认证/登录方式
- 在登录方式列表中找到需要开启的登录方式
- 点击对应登录方式的启用按钮
- 根据提示完成必要的配置(如微信登录需要配置 AppID 和 AppSecret)

关闭登录方式
在登录方式列表中找到需要关闭的登录方式,点击停用按钮即可。
⚠️ 注意:关闭登录方式后,使用该方式的用户将无法登录,请谨慎操作。
通过 SDK 管理
适用场景
- 需要批量管理多个环境的登录方式
- 需要在自动化流程中管理登录配置
- 需要在后台服务中动态控制登录方式
支持的登录方式
通过腾讯云 SDK(tencentcloud-sdk)管理登录方式,支持 Java、Go、JavaScript 等多种语言。
版本说明
腾讯云 SDK 方式开启/关闭登录方式,仅影响云开发平台身份认证 v2 的登录方式,不会同步开启/关闭旧版控制台 v1 的登录方式。
如需管理 v1 登录方式,请前往云开发控制台手动操作。
参数说明
| 参数名称 | 说明 | 参数值 | 必填 |
|---|---|---|---|
| EnvId | 云开发环境 ID | 环境 ID 字符串 | 是 |
| PhoneNumberLogin | 手机号验证码登录 | TRUE(开启)/ FALSE(关闭),仅支持上海地域 | 否 |
| AnonymousLogin | 匿名登录 | TRUE(开启)/ FALSE(关闭) | 否 |
| UsernameLogin | 用户名密码登录 | TRUE(开启)/ FALSE(关闭) | 否 |
请求示例
{
"EnvId": "your-env-id",
"PhoneNumberLogin": "TRUE",
"AnonymousLogin": "TRUE",
"UsernameLogin": "TRUE"
}
代码示例
了解更多使用方式请访问 腾讯云 API 调试工具。
- JavaScript
- Go
- Java
const tencentcloud = require("tencentcloud-sdk-nodejs-tcb");
const TcbClient = tencentcloud.tcb.v20180608.Client;
// 实例化认证对象
// 密钥可前往 https://console.cloud.tencent.com/cam/capi 获取
const clientConfig = {
credential: {
secretId: "your-secret-id", // 替换为您的 SecretId
secretKey: "your-secret-key", // 替换为您的 SecretKey
},
region: "ap-shanghai", // 地域参数
profile: {
httpProfile: {
endpoint: "tcb.tencentcloudapi.com",
},
},
};
// 实例化客户端
const client = new TcbClient(clientConfig);
// 配置登录方式参数
const params = {
EnvId: "your-env-id", // 替换为您的环境 ID
PhoneNumberLogin: "TRUE", // 开启手机号验证码登录
AnonymousLogin: "TRUE", // 开启匿名登录
UsernameLogin: "TRUE", // 开启用户名密码登录
};
// 调用接口
client.EditAuthConfig(params).then(
(data) => {
console.log("配置成功:", data);
},
(err) => {
console.error("配置失败:", err);
}
);
package main
import (
"fmt"
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile"
tcb "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcb/v20180608"
)
func main() {
// 实例化认证对象
// 密钥可前往 https://console.cloud.tencent.com/cam/capi 获取
credential := common.NewCredential(
"your-secret-id", // 替换为您的 SecretId
"your-secret-key", // 替换为您的 SecretKey
)
// 实例化客户端配置
cpf := profile.NewClientProfile()
cpf.HttpProfile.Endpoint = "tcb.tencentcloudapi.com"
// 实例化客户端
client, _ := tcb.NewClient(credential, "ap-shanghai", cpf)
// 创建请求对象
request := tcb.NewEditAuthConfigRequest()
// 配置登录方式参数
envId := "your-env-id" // 替换为您的环境 ID
phoneLogin := "TRUE" // 开启手机号验证码登录
anonymousLogin := "TRUE" // 开启匿名登录
usernameLogin := "TRUE" // 开启用户名密码登录
request.EnvId = &envId
request.PhoneNumberLogin = &phoneLogin
request.AnonymousLogin = &anonymousLogin
request.UsernameLogin = &usernameLogin
// 调用接口
response, err := client.EditAuthConfig(request)
if _, ok := err.(*errors.TencentCloudSDKError); ok {
fmt.Printf("配置失败: %s\n", err)
return
}
if err != nil {
panic(err)
}
// 输出结果
fmt.Printf("配置成功: %s\n", response.ToJsonString())
}
package com.tencent;
import com.tencentcloudapi.common.AbstractModel;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.tcb.v20180608.TcbClient;
import com.tencentcloudapi.tcb.v20180608.models.*;
public class Sample {
public static void main(String [] args) {
try {
// 实例化认证对象
// 密钥可前往 https://console.cloud.tencent.com/cam/capi 获取
Credential cred = new Credential(
"your-secret-id", // 替换为您的 SecretId
"your-secret-key" // 替换为您的 SecretKey
);
// 实例化 HTTP 配置
HttpProfile httpProfile = new HttpProfile();
httpProfile.setEndpoint("tcb.tencentcloudapi.com");
// 实例化客户端配置
ClientProfile clientProfile = new ClientProfile();
clientProfile.setHttpProfile(httpProfile);
// 实例化客户端
TcbClient client = new TcbClient(cred, "ap-shanghai", clientProfile);
// 创建请求对象并配置参数
EditAuthConfigRequest req = new EditAuthConfigRequest();
req.setEnvId("your-env-id"); // 替换为您的环境 ID
req.setPhoneNumberLogin("TRUE"); // 开启手机号验证码登录
req.setAnonymousLogin("TRUE"); // 开启匿名登录
req.setUsernameLogin("TRUE"); // 开启用户名密码登录
// 调用接口
EditAuthConfigResponse resp = client.EditAuthConfig(req);
// 输出结果
System.out.println("配置成功: " + AbstractModel.toJsonString(resp));
} catch (TencentCloudSDKException e) {
System.out.println("配置失败: " + e.toString());
}
}
}
💡 安全提示:代码中的 SecretId 和 SecretKey 仅用于示例说明,实际使用时请通过环境变量或密钥管理服务等安全方式存储和使用密钥。详见 密钥安全最佳实践。
注意事项
- 影响范围:关闭登录方式后,已使用该方式登录的用户将无法再次登录,现有登录状态不受影响
- 地域限制:手机号验证码登录目前仅支持上海地域
- 密钥安全:使用 SDK 方式时,请妥善保管 SecretId 和 SecretKey,避免泄露
- 版本兼容:SDK 方式管理的是云开发平台身份认证 v2 版本,与旧版控制台 v1 独立管理
常见问题
Q: 关闭登录方式后,已登录的用户会受影响吗?
A: 不会。关闭登录方式只会阻止新的登录请求,已登录用户的访问令牌在有效期内可以正常使用。
Q: 为什么 SDK 开启的登录方式在旧版控制台看不到?
A: SDK 管理的是云开发平台身份认证 v2 的登录方式,与旧版控制台 v1 是独立的系统,需要分别管理。
Q: 可以同时开启多种登录方式吗?
A: 可以。您可以根据业务需求同时开启多种登录方式,用户可以选择任意一种方式进行登录。