我在创建Alteryx工作流时遇到了一些问题,该工作流在Python工具中使用RS256算法对JWT令牌进行编码.

以下是我的代码:

#################################
from ayx import Alteryx
from ayx import Package
import pandas
##Package.installPackages(package="cryptography",install_type="install --proxy proxy.server:port")  
##Package.installPackages(package="pyjwt[crypto]",install_type="install --proxy proxy.server:port")
import jwt
from io import StringIO


#################################
table = Alteryx.read("#1")


#################################
print(table)


#################################
id = table.at[0, 'id']


#################################
url = table.at[0, 'url']


#################################
key = table.at[0, 'key']


#################################
exp = table.at[0, 'exp']


#################################
exp = int(exp)


#################################
nbf = table.at[0, 'nbf']


#################################
nbf = int(nbf)


#################################
encoded = jwt.encode({"iss": id, "aud": url, "exp": exp, "nbf": nbf}, key, algorithm='RS256')


#################################
s=str(encoded,'utf-8')

data = StringIO(s) 

df=pandas.read_csv(data,header=None)


#################################
Alteryx.write(df,1)

问题是,当我try 使用RS256算法对JWT进行编码时:encoded = jwt.encode({"iss": id, "aud": url, "exp": exp, "nbf": nbf}, key, algorithm='RS256'),它返回错误消息NotImplementedError: 算法rithm 'RS256' could not be found. Do you have cryptography installed?

应该安装加密包,因为我在 Select 包名:pyjwt[crypto]-SOURCE:Installation — PyJWT 2.7.0 documentation时指定了[CRYPTO].我也try 通过添加##Package.installPackages(package="cryptography",install_type="install --proxy proxy.server:port")来单独安装它,但仍然出现相同的错误.

推荐答案

此问题的解决方案已记录在文档here中.

我只是简单地按照2021.1.4+的说明安装了pyjwt[加密]

Python相关问答推荐

仅从风格中获取 colored颜色 循环

从webhook中的短代码(而不是电话号码)接收Twilio消息

使用mySQL的SQlalchemy过滤重叠时间段

如何比较numPy数组中的两个图像以获取它们不同的像素

运行终端命令时出现问题:pip start anonymous"

ODE集成中如何终止solve_ivp的无限运行

将9个3x3矩阵按特定顺序排列成9x9矩阵

从一个系列创建一个Dataframe,特别是如何重命名其中的列(例如:使用NAs/NaN)

无论输入分辨率如何,稳定扩散管道始终输出512 * 512张图像

找到相对于列表索引的当前最大值列表""

从旋转的DF查询非NaN值

如何删除重复的文字翻拍?

mdates定位器在图表中显示不存在的时间间隔

根据Pandas中带条件的两个列的值创建新列

将CSS链接到HTML文件的问题

如何在Python中创建仅包含完整天数的月份的列表

try 在单个WITH_COLUMNS_SEQ操作中链接表达式时,使用Polars数据帧时出现ComputeError

当lambda函数作为参数传递时,pyo3执行

用LAKEF划分实木地板AWS Wrangler

将参数从另一个python脚本中传递给main(argv