节点

开始

您可以手动添加到您的package.json或者使用以下命令安装并保存它:npm安装tcell挂钩--保存

从应用程序代码中调用钩子有三个选项:

  1. 通过提供一个Express请求对象并让tCell Agent从中提取相关细节:

               
    1
    var TCellHooks = require('tcell-hooks').v1;
    2
    3.
    //成功登录
    4
    Var username = 'some-user-id',
    5
    sessionId = req.sessionID
    6
    TCellHooks。sendExpressLoginEventSuccess(用户名、sessionId要求);
    7
    8
    / /失败的登录
    9
    Var username = 'some-user-id',
    10
    sessionId=req.sessionId,
    11
    userValid = false
    12
    TCellHooks.sendExpressLoginEventFailure(用户名、会话ID、请求、用户有效);
  2. 通过提供Hapi请求对象并让TCell代理从中提取相关细节:

               
    1
    var TCellHooks = require('tcell-hooks').v1;
    2
    3.
    //成功登录
    4
    Var username = 'some-user-id',
    5
    sessionId = '会话id '
    6
    TCellHooks。sendHapiLoginEventSuccess(要求、用户名sessionId);
    7
    8
    / /失败的登录
    9
    Var username = 'some-user-id',
    10
    sessionId = '会话id '
    11
    userValid = false
    12
    TCellHooks。sendHapiLoginEventFailure(req,用户名,sessionId, userValid);
  3. 通过提供tCell事件所需的每一条信息:

               
    1
    var TCellHooks = require('tcell-hooks').v1;
    2
    3.
    //成功登录
    4
    //注意:这是您从ExpressJS请求获取此信息的方式。
    5
    //在不同的框架中获取这些信息可能会有所不同
    6
    Var username = 'some-user-id',
    7
    sessionId=req.sessionId,
    8
    userAgent = req.get(“用户代理”),
    9
    介绍人= req.get(“推荐人”),
    10
    remoteAddress =点播。标题(“x-forwarded-for”)| | req.connection.remoteAddress,
    11
    headerKeys =种(req.headers),
    12
    documentUri=req.protocol+':/'+req.get('Host')+req.originalUrl
    13
    TCellHooks.sendLoginEventSuccess(
    14
    用户名、
    15
    sessionId,
    16
    userAgent,
    17
    上线,
    18
    remoteAddress,
    19
    headerKeys,
    20.
    documentUri);
    21
    22
    / /失败的登录
    23
    //注意:这是您从ExpressJS请求获取此信息的方式。
    24
    //在不同的框架中获取这些信息可能会有所不同
    25
    Var username = 'some-user-id',
    26
    sessionId=req.sessionId,
    27
    userAgent = req.get(“用户代理”),
    28
    介绍人= req.get(“推荐人”),
    29
    remoteAddress =点播。标题(“x-forwarded-for”)| | req.connection.remoteAddress,
    30.
    headerKeys =种(req.headers),
    31
    documentUri=req.protocol+':/'+req.get('Host')+req.originalUrl,
    32
    userValid = false
    33
    TCellHooks.sendLoginEventFailure (
    34
    用户名、
    35
    sessionId,
    36
    userAgent,
    37
    上线,
    38
    remoteAddress,
    39
    headerKeys,
    40
    documentUri
    41
    userValid);

美国石油学会

         
1
函数sendLoginEventSuccess (
2
用户ID,
3.
sessionId,
4
userAgent,
5
上线,
6
remoteAddress,
7
headerKeys,
8
documentUri) {
9
  • userId(字符串):用于用户的标识(如电子邮件,用户名)
  • sessionId (string):可选,用户登录的会话ID。这将被HMAC'ed前的代理被发送
  • userAgent (string):可选)从头部获取的用户代理
  • referrer (string):(可选)从header中获取的referrer
  • remoteAddress (string):(可选)请求的IP地址
  • headerKeys (string):(可选)头键数组。顺序很重要(不要对数组进行排序)
  • documentUri (string):(可选)从请求获取的文档URI
         
1
函数sendLoginEventFailure (
2
用户ID,
3.
sessionId,
4
userAgent,
5
上线,
6
remoteAddress,
7
headerKeys,
8
documentUri,
9
userValid) {
10
  • userId(字符串):用于用户的标识(如电子邮件,用户名)
  • sessionId (string):可选,用户登录的会话ID。这将被HMAC'ed前的代理被发送
  • userAgent (string):(可选)从header中获取的用户代理
  • referrer (string):(可选)从header中获取的referrer
  • remoteAddress (string):(可选)请求的IP地址
  • headerKeys (string):(可选)头键数组。顺序很重要(不要对数组进行排序)
  • documentUri (string):(可选)从请求获取的文档URI
  • userValid (boolean):(可选)存在时设置为true,其他为false。默认为空。
         
1
函数sendExpressLoginEventSuccess (
2
要求
3.
用户ID,
4
会话ID){
5
  • request (object): ExpressJS提供的请求对象
  • userId(字符串):用于用户的标识(如电子邮件,用户名)
  • sessionId (string):可选,用户登录的会话ID。这将被HMAC'ed前的代理被发送
         
1
函数sendExpressLoginEventFailure (
2
要求
3.
用户ID,
4
sessionId,
5
userValid) {
6
  • request (object): ExpressJS提供的请求对象
  • userId(字符串):用于用户的标识(如电子邮件,用户名)
  • sessionId (string):可选,用户登录的会话ID。这将被HMAC'ed前的代理被发送
  • userValid (boolean):(可选)存在时设置为true,其他为false。默认为空。
         
1
函数sendHapiLoginEventSuccess (
2
要求
3.
用户ID,
4
会话ID){
5
  • 请求(对象):Hapi提供的请求对象
  • userId(字符串):用于用户的标识(如电子邮件,用户名)
  • sessionId (string):可选,用户登录的会话ID。这将被HMAC'ed前的代理被发送
         
1
函数sendHapiLoginEventFailure (
2
要求
3.
用户ID,
4
sessionId,
5
userValid) {
6
  • 请求(对象):Hapi提供的请求对象
  • userId(字符串):用于用户的标识(如电子邮件,用户名)
  • sessionId (string):可选,用户登录的会话ID。这将被HMAC'ed前的代理被发送
  • userValid (boolean):(可选)存在时设置为true,其他为false。默认为空。

密码散列

当您向tCell云发送一个安全的哈希密码时,您将创建一个更健壮的帐户接管响应。请参阅密码散列为更多的信息。

重要的

如果未安装或禁用tcell_代理,则此代码将不起任何作用,并且不会对应用程序的性能产生影响。