当前位置: 首页 > news >正文

网站设计与制作成品作品wordpress 调用

网站设计与制作成品作品,wordpress 调用,公司注册网站需要提供什么文件,深入浅出wordpress 中文JIRA认证方式简述 JIRA接口调用有两种认证方式访问Jira Rest API,基本认证⽅式(⽤户名和密码)和OAuth1认证方式。 基本认证⽅式:因为⽤户名和密码会被浏览器重复地请求和发送,即使采⽤ SSL/TLS 发送,也会有安全隐患,…

JIRA认证方式简述

JIRA接口调用有两种认证方式访问Jira Rest API,基本认证⽅式(⽤户名和密码)和OAuth1认证方式。

基本认证⽅式:因为⽤户名和密码会被浏览器重复地请求和发送,即使采⽤ SSL/TLS 发送,也会有安全隐患,因此不建议使⽤。 
OAuth 认证⽅式: OAuth 是⼀种认证协议,允许Jira⽤户(Resource Owner) 授权第三⽅应⽤访问他们能操作的Jira 内容,Jira 使⽤ OAuth 1.0a版本。

java方式使用的依赖包

以前写的java的方式是通过google的oauth-client实现的。

<dependency><groupId>com.google.oauth-client</groupId><artifactId>google-oauth-client</artifactId><version>1.22.0</version>
</dependency>

python代码示例

之前用Java程序调用过JIRA接口,这次改成python调用接口,发现跟java程序有些不一样,同样的凭证,通过java访问JIRA接口没有问题,但是使用python时就会出现一些问题。

下面是调通后没有问题的代码

import requests
from requests_oauthlib import OAuth1# 配置 OAuth 信息
# 替换为你的 JIRA 服务器地址
JIRA_BASE_URL = "https://jira.example.com"
# 在 JIRA 应用链接中配置的 Consumer Key
CONSUMER_KEY = "your_consumer_key"
# 私钥,对应的公钥是配置在JIRA中的
PRIVATE_KEY = """
-----BEGIN RSA PRIVATE KEY-----
<your_private_key_here>
-----END RSA PRIVATE KEY-----
"""
# 在获取 Access Token中,根据生成的链接,获取到的secret
CLIENT_SECRET = "your_consumer_secret"
# 从 JIRA 获取的 Access Token
ACCESS_TOKEN = "your_access_token"
# 从 JIRA 获取的 Access Token Secret
ACCESS_TOKEN_SECRET = "your_access_secret" # 创建 OAuth1 对象,这块比较重要,主要是这里的参数跟java程序有些不同
oauth = OAuth1(client_key=CONSUMER_KEY,rsa_key=PRIVATE_KEY,client_secret=CLIENT_SECRETresource_owner_key=ACCESS_TOKEN,resource_owner_secret=ACCESS_TOKEN_SECRET,signature_method="RSA-SHA1"
)# 调用 JIRA REST API 示例:获取问题详情
# 替换为实际的 Issue Key
issue_key = "TEST-123"
# 最终请求的URL
url = f"{JIRA_BASE_URL}/rest/api/2/issue/{issue_key}"# 发起请求
response = requests.get(url, auth=oauth)# 处理响应
if response.status_code == 200:print("Issue Details:", response.json())
else:print(f"Failed to fetch issue. Status Code: {response.status_code}")print("Response:", response.text)

遇到的问题及解决方式

ModuleNotFoundError: No module named 'jwt'

ModuleNotFoundError: No module named 'jwt' 错误表明你的 Python 环境中没有安装 jwt 模块。这个模块通常是 PyJWT,它用于处理 JSON Web Token (JWT) 的生成和验证。

安装PyJWT

pip install PyJWT

验证安装

python -c "import jwt; print(jwt.__version__)"

如果没有报错,说明安装成功,并会打印 PyJWT 的版本号。

jwt.exceptions.InvalidKeyError:cound not parse th provided public key

这也是让我最困惑的问题,public key不是在客户端的,是在JIRA中配置的,但是却提示public key有问题,但是我通过java程序去访问是成功的,所以JIRA中配置的应该也没有问题。

密钥内容应该没有问题,所以我就检查了密钥的格式。

这也是python跟java不一样的,我在java中,就是将RSA私钥作为一个字符串使用是没有问题的,所以也习惯的在python中使用字符串使用,结果就出问题了。

检查公钥的格式

确保公钥的格式正确,通常公钥以 PEM 格式存储,包含以下内容:

-----BEGIN PUBLIC KEY-----
<base64_encoded_key>
-----END PUBLIC KEY-----

检查点

  • 公钥需要完整,包括 -----BEGIN PUBLIC KEY----------END PUBLIC KEY----- 标志。
  • 中间的内容应为 Base64 编码的公钥。

如果没有这些标志,尝试手动添加。

signature_method_rejected

signature_method_rejected 错误表明 JIRA 不接受你在 OAuth1 请求中指定的签名方法。这通常是由于以下原因之一导致的:

  • 签名方法配置不正确(JIRA 只支持 RSA-SHA1)。
  • JIRA 中的应用链接未正确配置。
  • 使用了不匹配的密钥对,或者密钥格式错误。

这也是python方式跟java方式另外一个不同的地方,在python中生成OAuth1对象时,必须指定signature_method="RSA-SHA1"

AttributeError: module 'jwt.algorithms' has no attribute 'hashes'

可能由于一下原因导致:

  • 没有安装cryptography
  • jwt和PyJWT同时存在引起冲突

安装 cryptography

pip install -U cryptography

解决冲突

# jwt卸载
pip uninstall jwt
# 保险起见,将PyJWT一同卸载
pip uninstall PyJWT
# 重新安装PyJWT
pip install PyJWT

 

报没有权限,必须登录

这又是一个让我很莫名奇妙的问题,用java都是可以了,用python就说没有权限,必须登录,难道让我使用基本认证方式。

想到了client_secret这个参数,因为这个凭证在java中是用到的,但是在网上找的示例中都没有提示用这个参数,然后就尝试在生成OAuth1对象时加上这个,结果成功了。

client_secret=CLIENT_SECRET

http://www.yayakq.cn/news/371442/

相关文章:

  • 牡丹江seo网站推广蜘蛛屯优化排名域名备案网站购买
  • 学做网站要懂英语吗上海金融网站建设公司
  • 如何查看网站空间商给中小企业提供网站建设服务
  • 做海淘的网站做海淘的网站谁能给我一个网址
  • 互联网如何做旅游网站公司网站建设价格低
  • 烟台网站建设给力臻动传媒wordpress重建缩略图
  • 温州网站建设网络wordpress linux权限
  • 北京建站模板公司网页设计平面设计
  • 网站设计建设维护与更新河北邢台区号
  • 如何查询网站是哪家公司做的怎么做交易猫钓鱼网站
  • 什么是网站的层次做网站的收入
  • 宣城老品牌网站建设建网站免费软件
  • 网站的开发费用吗手机销售网站的设计与实现
  • 网站外链多的危害惠州营销型网站建设
  • 建平台跟建网站榆林免费做网站
  • 广州有哪些做网站的公司给女朋友做网站 知乎
  • win8风格网站模板学编程的正规学校
  • 网站策划书一般包括以下内容偃师建网站那家公司好
  • 兵团住房和城乡建设局网站龙岗网站建设多少钱
  • 做卡盟网站教程17做网站广州起做网店
  • 池州市网站建设优化岳阳新网网站建设有限公司
  • 百度手机网站自助建站施工企业主要负责人对安全生产的
  • 做网站石家庄莱特币做空 网站
  • 动态图片怎么制作黄山网站优化
  • 移动网站网上营业厅wordpress 编辑器引用
  • wordpress page页seo优化方案设计
  • 安庆做网站网站代理沈阳建设学院
  • 建网站申请jsp网站搭建
  • 佛山合展商务网站建设深圳世展建设有限公司
  • 电商设计师联盟网站wordpress 购物 插件