我正在研究GitHub应用程序API,在那里我需要使用jwt令牌获得用于安装的访问令牌。
我能够使用link从私钥生成JWT令牌,但当我试图通过Postman生成安装的访问令牌时,它说:
URL:https://api.github.com/app/installations/8/access_tokens
授权:承载(JWT令牌)
接受:application/vnd.github.machine-man-preview+JSON
{
"message": "Integration must generate a public key",
"documentation_url": "https://developer.github.com/v3"
}
String privKeyStr = "myprivatekey";
byte[] data = Base64.decodeBase64(privKeyStr);
/* Add PKCS#8 formatting */
ASN1EncodableVector v = new ASN1EncodableVector();
v.add(new ASN1Integer(0));
ASN1EncodableVector v2 = new ASN1EncodableVector();
v2.add(new ASN1ObjectIdentifier(PKCSObjectIdentifiers.rsaEncryption.getId()));
v2.add(DERNull.INSTANCE);
v.add(new DERSequence(v2));
v.add(new DEROctetString(data));
ASN1Sequence seq = new DERSequence(v);
byte[] privKey = seq.getEncoded("DER");
PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(privKey);
KeyFactory fact = KeyFactory.getInstance("RSA");
PrivateKey key = fact.generatePrivate(spec);
long nowMillis = System.currentTimeMillis();
long expiremilis = 60000l*5l;
Date now = new Date(nowMillis);
Date expireDate = new Date(nowMillis+expiremilis);
//retStr = Jwts.builder().setClaims(claims).signWith(SignatureAlgorithm.RS256,key).compact();
String compactJws = Jwts.builder()
.setSubject("TestingApp")
.setIssuer("4")
.setIssuedAt(now)
.setExpiration(expireDate)
.signWith(SignatureAlgorithm.RS256,key)
.compact();
System.out.println(compactJws);
我在谷歌上搜索了一下,但找不到原因。
看起来这里唯一的问题是您需要将颁发者(setissuer
)设置为您的GitHub应用程序ID,它很可能不是4
。
我正在尝试生成访问令牌来收集领英数据。我按照领英API文档中提供的说明进行了操作。我在开发人员页面中创建了一个应用程序并获得了以下内容: 使用API密钥,我生成了带有URL的authorization_code: https://www.linkedin.com/uas/oauth2/authorization?response_type=code 但是当我最终尝试使用以下URL生成访问令牌时,我
当我尝试使用以下命令生成访问令牌时: 它抛出的错误为: {“error_description”:“缺少必需的参数,包括无效的参数值,参数多次。:无法检索访问令牌:appId或重定向uri与授权码不匹配或授权码过期”,“error”:“invalid_request”}。 你能在这个问题上指导我吗?
在此处输入图像描述我创建了Sandbox developer docusign帐户以将Salesforce与docusign集成,我正在使用此文档链接验证docusign,即。https://developers.docusign.com/esign-rest-api/guides/authentication/oauth2-code-grant 我能够成功地生成授权代码,但在生成用于生成的访问令
我一直在尝试使用简单的REST客户端以及Mozilla的REST插件。我收到“HTTP/1.1 401未授权”响应,正文中带有“{”error:“unauthorized_client”、“error_description”:“客户端未授权”}。 我已经成功获取了auth码,下面是访问令牌的POST请求,(范围r_fullprofile) https://www.linkedin.com/uas
我有访问令牌和刷新令牌。但是访问令牌过期后几个时间,所以我想从刷新令牌为谷歌驱动器API生成访问令牌。所以给我的想法或代码,从谷歌驱动器API刷新令牌生成访问令牌。
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=your_app_client_id&response_type=code&redirect_uri=https%3a%2f%2flogin.microsoftonline.com%2fcommon%2foauth2%2fnativeclient&res