标签: token

令牌/ RegExp在标记Javascript时发生冲突

我正在编写一个简单的javascript tokenizer来检测基本类型:Word,Number,String,RegExp,Operator,Comment和Newline.一切都很顺利,但我无法理解如何检测当前字符是RegExp分隔符还是除法运算符.我没有使用正则表达式,因为它们太慢了.有人知道检测它的机制吗?谢谢.

javascript regex token tokenize

8
推荐指数
1
解决办法
2071
查看次数

Codeigniter ajax CSRF问题

我做了一个简单的自动加载功能,当你在网站上向下滚动时加载内容.但是,当我在Codeigniter中启用CSRF保护时,似乎存在一些问题.

我没有使用表单,所以我不知道当你滚动时我正在做我的帖子请求时如何将令牌从A发送到B.

我的JavaScript

if (location.href == baseurl) {
    $(window).scroll(function(){
        if ($(window).scrollTop() > $('body').height() / 2) {
            if(doScroll == 1) {
                $.post(baseurl + 'ajax/images',{'id' : ID}, function(data) {
                    $("#wrapper_content").append(data);
                    if(data == 'Det finnes ikke flere bilder i databasen, WTF!? Send inn forslag ASAP!') {
                        doScroll = 0;
                    }
                    ID++;
                });
            }
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

由于Codeigniter期望在所有POST请求中都有TOKEN,因此当CSRF启用时,我无法使其工作.有什么建议?

启用CSRF时出错

无法加载资源:服务器响应状态为500(内部服务器错误)

如果我关闭CSRF,一切都很好......

javascript ajax codeigniter token

8
推荐指数
3
解决办法
3万
查看次数

为什么身份验证令牌被认为是无状态且会话不是?

在身份验证令牌的情况下,客户端发送凭据,接收令牌并在所有后续调用中使用它.服务器需要保存令牌以验证请求.

使用例如PHP会话,服务器返回客户端在每个请求中发送的会话UID.服务器需要保存会话.

在这两种情况下,服务器都需要保存状态,为什么前者被认为是无状态?

php authentication rest session token

8
推荐指数
1
解决办法
1349
查看次数

从Owin Api创建后,你如何获得Oauth2 AccessToken?

如果出于某些审计原因,我会被要求AccessToken在创建后存储到Db,是否有一个Owin API类返回AccessToken

public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
{
    //check user credentials
    ....
    context.Validated(ticket);
    //Where should I get the generated token?
    }
}
Run Code Online (Sandbox Code Playgroud)

我找到的唯一解决方法是创建一个Http过滤器,Global.Asax用于读取输出流并从那里获取令牌.

是否有更优雅的方式直接从Owin Api获取它?

c# asp.net token oauth-2.0 owin

8
推荐指数
1
解决办法
3302
查看次数

使用刷新令牌异常{"error":"invalid_grant"}'

我已经成功构建了一个获取访问权限和刷新令牌的应用程序.

在我的脚本中,我检查访问令牌是否有效,如果不是,我然后使用刷新令牌获取访问权限 $client->refreshToken($refreshToken);

代码全部,

    $refreshToken = '<REFRESH_TOKEN>';

    $client_id = '<CLIENT_ID>';
    $client_secret = '<CLIENT_SECRET>';

    // Setup infomation
    $client = new Google_Client();
    $client->setClientId($client_id);
    $client->setClientSecret($client_secret);
    $client->setAccessType("offline");
    $client->addScope("https://mail.google.com/");

    // If access token is not valid use refresh token
    if($client->isAccessTokenExpired()) {

        // Use refresh token
        $client->refreshToken($refreshToken);

    } else {

        // Use access token
        echo $client->setAccessToken($accessToken);

    }
Run Code Online (Sandbox Code Playgroud)

但是,当尝试使用刷新令牌时,我得到了一个激发:

Fatal error: Uncaught exception 'Google_Auth_Exception' with message 'Error refreshing the OAuth2 token, message: '{ "error" : "invalid_grant" }''
Run Code Online (Sandbox Code Playgroud)

token gmail-api

8
推荐指数
3
解决办法
1万
查看次数

ASP.Net Web Api 2,json web令牌,注销并确保服务器不再需要验证令牌

我正在使用asp.net web api 2并使用JWT进行身份验证.应用程序正常工作,因为它在用户登录请求时生成令牌,然后用户可以使用该令牌进行后续请求.但我有一些安全问题,比如

  1. 如果令牌从用户的浏览器中被盗,该怎么办?服务器如何检测从两台不同计算机发送的两个请求中的有效请求.
  2. 当用户注销时,服务器如何检测到此特定令牌现在无效/已注销.当我读到退出时,它只是从客户端浏览器删除令牌,因此被盗令牌仍然存在,从其他PC请求.
  3. 服务器在到期时间内如何撤销令牌?

如果我的问题不明确,请评论.

security token jwt asp.net-web-api

8
推荐指数
1
解决办法
7420
查看次数

Firebase服务器端verifyIdToken()在幕后做了什么?

我正在考虑使用Firebase执行身份验证.我是JWT的新手,所以我很抱歉这是一个显而易见的问题,但我不明白验证是如何实际完成的.它似乎是FirebaseAuth.getInstance().verifyIdToken(idToken)异步工作的,因为结果是通过监听器获得的.我知道有些证书是按照此处所述使用的,并且这些证书会定期轮换.是否意味着每次打电话时我的后端服务器和Firebase服务器之间都需要联网verifyIdToken()?这不是问题吗?

verify token firebase firebase-authentication

8
推荐指数
1
解决办法
1306
查看次数

RSA JWT关键轮换期?

我已经创建了一个基本的JWT生成器,但需要在几个方面提供建议.我一直在使用JWT.io的指南和auth0/java-jwt库/ repo来生成令牌.

JWT正在使用2个不同的密钥进行签名.

使用RSA512算法使用4096位密钥对刷新令牌进行签名.

.sign(Algorithm.RSA512(rsaPublicKey, rsaPrivateKey));
Run Code Online (Sandbox Code Playgroud)

通过RSA256算法使用1024位RSA密钥对访问令牌进行签名.

 .sign(Algorithm.RSA256(rsaPublicKey, rsaPrivateKey));
Run Code Online (Sandbox Code Playgroud)

由于4096位验证过程需要更长的时间,因此我对"速度"的建议已经采用了这一点,但似乎对刷新令牌的请求较少,安全性的权衡似乎是公平的.

另一方面,访问令牌在资源服务器端点进行验证,并且它们被更频繁地发送,因此我选择了更短(256)的签名,该签名使用更快的1024位密钥进行.

我知道钥匙"几乎"不可能破坏......但建议使用钥匙旋转?

我将jks(密钥库)保存在auth服务器和资源服务器上的私有文件夹中.密钥库包含2个密钥对,一个用于刷新令牌签名/验证,另一个用于访问令牌签名/验证.

我需要刷新/形成新密钥吗?如果是这样......多久一次?建议的方法是什么?

在负载均衡器后面可以有多个auth和资源微服务实例...因此RAM生成的密钥是否为,因为它们不会在实例之间传播.

我已经看过可能有一个"密钥服务器",可以说创建新密钥并将它们附加到密钥库并将新的jks文件更新为新的密钥对...类似于: 实例之间的文件共享

因此,例如,每隔15秒,EC2 auth服务器和资源服务器ping密钥服务器,请求当前jks的副本(和版本检查).

有什么建议?

谢谢!

security token jks jwt

8
推荐指数
1
解决办法
586
查看次数

是否可以更改 Spacy 分词器的分词规则?

默认情况下,(德语)spacy 分词器不会按斜线、下划线或星号分割,这正是我所需要的(因此“der/die”会生成单个标记)。

然而,它确实在括号上拆分,因此“dies(und)das”被拆分为 5 个标记。是否有一种(简单)方法告诉默认标记器也不在括号上拆分,括号两边都由字母括起来,没有空格?

为分词器定义的括号上的分割到底是如何定义的?

python regex token tokenize spacy

8
推荐指数
1
解决办法
2695
查看次数

如何在 SOLANA 上使用 web3 js 从令牌地址获取元数据

通过该方法,我获得了 publicKey 拥有的令牌列表:

connection
.getParsedTokenAccountsByOwner(
  new PublicKey(publicKey.toBase58()),
  {
    programId: TOKEN_PROGRAM_ID
  }
)
.then((b) => {
  const owner = b?.value?.[0].account.owner;
  const pb = b?.value?.[0].pubkey;

  const nonZeroAccounts = b?.value?.filter(
    (obj) => obj.account.data.parsed.info.tokenAmount.uiAmount > 0
  );
  setTokens(JSON.stringify(nonZeroAccounts, null, 2));
Run Code Online (Sandbox Code Playgroud)

例如,拥有 1 个代币的帐户的返回值:

{
"account": {
  "data": {
    "parsed": {
      "info": {
        "isNative": false,
        "mint": "example",
        "owner": "example",
        "state": "initialized",
        "tokenAmount": {
          "amount": "1",
          "decimals": 0,
          "uiAmount": 1,
          "uiAmountString": "1"
        }
      },
      "type": "account"
    },
    "program": "spl-token",
    "space": 165
  },
  "executable": false,
  "lamports": 2039280, …
Run Code Online (Sandbox Code Playgroud)

token jsx reactjs solana solana-web3js

8
推荐指数
1
解决办法
7634
查看次数