身份认证

Noel Lynagh Updated by Noel Lynagh

增加身份认证能为您提供额外的用户保护层。身份认证要求您于服务器上为每个登入用户产生一个HMAC,并传送给TABLE。

  1. 产生HMAC

于PHP中产生HMAC:

hash_hmac(
'sha256', // hash function
$user->id, // your user's id
'<TABLE_SECRET>' // secret key
);

于Python中产生HMAC

import hmac
import hashlib

hmac.new(
b'<TABLE_SECRET>', # table secret
bytes(request.user.id, encoding='utf-8'), # your user's id
digestmod=hashlib.sha256 # hash function
).hexdigest()

于Ruby中产生HMAC

OpenSSL::HMAC.hexdigest(
'sha256', # hash function
'<TABLE_SECRET>', # table secret
current_user.id # your user's id
)
  1. 于所有位置载入用户数据且有 window.tableSettings 的代码片段,加入一个名为 user_hash 的新属性,并将已登入用户的HMAC代码分配给它:
<script>
window.tableSettings = {
short_code: '{EXPERIENCE_SHORT_CODE}',
first_name: "John",
last_name: "Doe",
email: "johndoe@example.com",
user_id: "{USER_ID_ON_YOUR_SYSTEM}",
user_hash: "INSERT_HMAC_VALUE_HERE",
created_at: 1258929196
};
</script>
<script id='__table_iac' src="https://{CUSTOMER_ID}.table.co/static/widget/inappchat.js" async>​</script>​

How did we do?

于您的网路应用程序中安装TABLE (用于未登入用户)

Contact