标签: token

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
查看次数

JSON 中非常长的字符串(>1 gig),带有 Jackson 令牌流

我正在尝试编写一些处理 JSON 文档的代码,其中存储在文件中的字符串值非常长(超过 10 亿个字符)。我不想将整个字符串保留在内存中(因为我可以在流中处理它们)。但我在杰克逊解析器中找不到这样的选项。到目前为止,我所做的是使用 Jackson 令牌偏移量(第一轮读取文件)和随机访问文件来处理流中的字符串(第二轮读取文件)的测试:

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.RandomAccessFile;
import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.Map;

import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.MappingJsonFactory;

public class LongStringJsonTest {
    public static void main(String[] args) throws Exception {
        File tempJson = new File("temp.json");
        PrintWriter pw = new PrintWriter(tempJson);
        pw.print("{\"k1\": {\"k11\": \"");
        for (int i = 0; i < 1e8; i++)
            pw.print("abcdefghij"); 
        pw.print("\"}, \"k2\": \"klmnopqrst\", " +
                "\"k3\": [\"uvwxyz\", \"0123\"]}");
        pw.close();
        searchForStrings(tempJson);
    }

    private static void …
Run Code Online (Sandbox Code Playgroud)

java json out-of-memory token jackson

7
推荐指数
1
解决办法
1762
查看次数

使用本地私钥通过 web3.py 发送 ERC20 令牌

我正在尝试使用本地私钥在带有 web3.py 的 python 中发送 ERC20 令牌。

使用此代码,我可以发送以太:

w3 = Web3(HTTPProvider('https://api.myetherapi.com/eth'))
signed_txn = w3.eth.account.signTransaction(dict(
                nonce=w3.eth.getTransactionCount(from_address),
                gasPrice=w3.eth.gasPrice,
                gas=100000,
                to=to_address,
                value=12345,
                data=b'',
            ),
                private_key,
            )
w3.eth.sendRawTransaction(signed_txn.rawTransaction)
Run Code Online (Sandbox Code Playgroud)

然后我也发现了这个,但是估计Gas总是出错,在我看来,我无法像这样指定我发送的地址或通过某种签名证明它是我的地址?

contract = w3.eth.contract(address=address, abi=EIP20_ABI, bytecode=bytecode)
contract.functions.transfer(to_address, 121212).transact()
Run Code Online (Sandbox Code Playgroud)

所以我有 JSON abi、字节码、地址和我的私钥,我可以用我找到的代码以某种方式构建一个工作脚本吗?

提前致谢!

python token ethereum web3-donotuse erc20

7
推荐指数
1
解决办法
4950
查看次数

使用 JWT 在 C# 中生成令牌的签名无效

我学会了用 ASP.Net core 生成令牌...

我有一个生成令牌验证的方法......这个

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJQYXR5IiwianRpIjoiY2Q5OGE3NjMtOGRkZC00NWM1LTg3MzAtMGE2MDBjZDE1NTg1IiwiZXhwIjoxNTUwNzE2OTQwLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjYzOTM5LyIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6NjM5MzkvIn0.ndvWn-pBwdo7UlxFvuE0IPWnxpDtzAKTfq_FRkgMFeM
Run Code Online (Sandbox Code Playgroud)

当您将令牌粘贴到 jwt.io 中时,这会显示:无效签名,但令牌仍然具有值 user....为什么 jwt.io 显示此消息?

生成token的方法:

    public static string CreateToken(User user, string keyValue, string issuer)
    {
        /* keyValue = "veryVerySecretKey" */
        /* issuer = "http://localhost:63939/" */

        var claims = new[] {
          new Claim(JwtRegisteredClaimNames.Sub, user.Name),
          new Claim(JwtRegisteredClaimNames.Jti, user.Id.ToString())
        };



        var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(keyValue));

        var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

        var token = new JwtSecurityToken(issuer,
          issuer,
          claims,
          expires: DateTime.Now.AddMinutes(30),
          signingCredentials: creds);

        return new JwtSecurityTokenHandler().WriteToken(token);
    }
Run Code Online (Sandbox Code Playgroud)

c# authentication token jwt

7
推荐指数
1
解决办法
8236
查看次数

Flutter 用于 Web Cookie/令牌会话和身份验证

我正在使用NodeJS 和 Flutter For Web开发一个完整的堆栈应用程序,目前我不明白如何制作安全的 cookie/token 会话
我需要的答案是如何像其他社交网络或 Stackoverflow 本身一样使用 Flutter For Web 制作身份验证系统

cookies session token dart flutter

7
推荐指数
2
解决办法
9258
查看次数

如何在Keycloak中拥有除JWT之外的其他令牌格式?

Keycloak 是否可以使用 JWT 以外的其他令牌格式?Keycloak 总是发送 JWT 令牌,但我显然不想要那种 JWT 格式。Opaque tokenkeycloak是否可以有一种或其他格式?

谢谢

token jwt keycloak

7
推荐指数
1
解决办法
2133
查看次数

为 Firebase 云消息传递 PHP 生成 OAUTH 令牌

我有一个 PHP 页面,我用它来向我开发的移动应用程序的用户发送通知,该页面直到上个月都工作正常,然后它给了我这个错误

{"multicast_id":5174063503598899354,"成功":0,"失败":1,"canonical_ids":0,"结果":[{"错误":"无效注册"}]}

我尝试使用此链接中的文档生成 OAUTH 令牌 https://firebase.google.com/docs/cloud-messaging/auth-server#node.js 但它需要 NODE.JS 服务器,而我的服务器不支持 Node .Js,我尝试使用 Firebase Admin SDK 但找不到任何内容。这是页面的PHP代码

<?php

//Includes the file that contains your project's unique server key from the Firebase Console.
require_once("serverKeyInfo.php");

//Sets the serverKey variable to the googleServerKey variable in the serverKeyInfo.php script.
$serverKey = $googleServerKey;

//URL that we will send our message to for it to be processed by Firebase.
    $url = "https://fcm.googleapis.com/fcm/send";

//Recipient of the message. This can be a device token (to send to an …
Run Code Online (Sandbox Code Playgroud)

php oauth token firebase firebase-cloud-messaging

7
推荐指数
3
解决办法
7770
查看次数

从 apisetu.gov.in API 获取车辆登记详细信息

我正在尝试在我的网站中实现一项功能,用户可以输入车辆的注册号并提取车辆和车主的详细信息。类似于https://jankari.loconav.com/rc 印度政府提供了一个 API 来实现此目的 - https://ndh.digitallocker.gov.in/public/api/transport#/APIs/drvlc但是没有涉及任何文档。我什至不知道如何在邮递员中使用它。没有生成 API 密钥等选项。当您单击“尝试”按钮时,它只会显示一个预先编写的 json,在执行后会出现错误。有人可以帮我找到一种使用http://apisetu.gov.in构建类似于https://jankari.loconav.com/rc的方法吗

提前致谢

api rest token postman

7
推荐指数
0
解决办法
7117
查看次数

Jira CircleCI 集成。请提供 CircleCI API 令牌以使该球体正常工作

我正在尝试将 Jira 与 Circle ci 集成。我已按照说明进行操作,一切都很顺利。我已经 1.为 Jira 安装了 CircleCI 2.在 Jira 中创建了令牌 3.在 Circle CI 中添加了该令牌 4.在 config.yml 文件中添加了 orb。当我推送更改时,构建失败并显示以下消息。

/bin/bash: CIRCLE_TOKEN: 请提供 CircleCI API 令牌以使该球体正常工作!

这是我的 config.yml 文件

version: 2.1
orbs:
    jira: circleci/jira@1.0.2


workflows:
  build:
    jobs:
      - build:
          post-steps:
            - jira/notify

jobs:
  build:
    docker:
      - image: circleci/python:3.6
    steps:
      - checkout
      - restore_cache:
          key: deps1-{{ .Branch }}-{{ checksum "requirements.txt" }}
      - run:
          command: |
            python3 -m venv venv
            . venv/bin/activate
            pip install --upgrade pip
            pip install -r requirements.txt
      - …
Run Code Online (Sandbox Code Playgroud)

integration geometry jira token circleci

7
推荐指数
1
解决办法
1326
查看次数

SecurityTokenExpiredException:IDX10223:生命周期验证失败。令牌已过期。ValidTo:'System.DateTime',当前时间:'System.DateTime'

在使用 RestAPI 的 ASP.NET Core 5 项目中,我使用带有令牌和刷新令牌的 JWT Bearer。我这样配置启动:

var jwtSecretKey = Configuration.GetValue<string>("Jwt:Key");
var key = Encoding.UTF8.GetBytes(jwtSecretKey);

var tokenValidationParameters = new TokenValidationParameters
{
    SaveSigninToken = true,
    ValidateActor = true,
    ValidateIssuer = true,
    ValidateAudience = true,
    ValidateLifetime = true,
    ValidateIssuerSigningKey = true,
    ValidIssuer = Configuration["Jwt:Issuer"],
    ValidAudience = Configuration["Jwt:Audience"],
    IssuerSigningKey = new SymmetricSecurityKey(key),
    // set clockskew to zero so tokens expire exactly at token expiration time (instead of 5 minutes later)
    ClockSkew = TimeSpan.Zero
};

services.AddAuthentication(options =>
{
    options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
    options.DefaultAuthenticateScheme …
Run Code Online (Sandbox Code Playgroud)

c# token access-token jwt

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