JavaScript API – 身份验证

身份验证有助于确保您和用户之间的对话是保密的,并且一个人不能冒充另一个人。

如何运行?

登录用户需要进行身份验证,它希望您将加密的userHash(HMAC)(您在服务器上使用SHA256生成)添加到安装代码段中,并与用户的电子邮件或用户ID一起使用。

为了更好地保护用户的数据和对话,我们强烈建议您使用身份验证。如果你只和网络访问者聊天,身份验证就不重要了。

PHP 例子:

<?php

// Generating hash on your PHP server

$userHash = hash_hmac(

'sha256', // hash function

$user->id, // user ID

'IDENTITY_VERIFICATION_SECRET' // identity verification secret (keep it safe!)

);

?>

<script>

window.screetsxi = {

appid: "YOUR_APP_ID",

uid: <?php echo json_encode($user->id) ?>, // Full name

userHash: "<?php echo $userHash ?>",

createdAt: "<?php echo strtotime($user->created_at) ?>", // Signup date as a Unix timestamp

}

</script>

如果您不能提供用户ID,但提供用户电子邮件,那么您应该使用用户电子邮件生成哈希。

例如:$userHash=hash_hmac(’sha256’,$user->email,’SECRET’);

如果多个用户有相同的电子邮件地址怎么办?
在这种情况下,我们强烈建议您提供用户ID并按用户ID生成用户哈希,以防止会话冲突。如果您通过电子邮件生成用户哈希,即使您在安装时提供了用户ID,它仍然会产生冲突。

查找你的 “身份验证密匙”

  • 进入 聊天控制台
  • 点击左侧的 “设置” 图标
  • 进入 “安全” 页面
  • 查找 “查找身份验证密匙”

重要提示

无法为没有用户ID或电子邮件地址的web访问者设置身份验证。

你可以提供的字段:

特性 类型 描述
userHash string 用于身份验证。
(仅适用于用户)
uid string 当前登录用户的用户ID。
(仅适用于用户)
email string 当前登录用户的邮件地址。
(仅适用于用户)
createdAt integer 用户注册应用程序时的Unix时间戳(秒)。
(仅适用于用户)
name string 当前用户/访问者的名字
phone string 当前用户/访问者的电话号码