Linkedin API oAuth 2.0 REST查询参数

Linkedin API oAuth 2.0 REST查询参数,rest,oauth-2.0,linkedin,Rest,Oauth 2.0,Linkedin,我在向回调URL添加查询时遇到问题。我在尝试授权以下字符串时遇到无效的URI方案错误: 我在这里的论坛帖子中读到了一些相互矛盾的信息。有人说可以向回调中添加查询字符串,还有人说这会导致错误 如果我删除?type=linkedin,我就可以完全授权并接收令牌。如果我可以在回调url上使用查询字符串,那么我的生活就会轻松得多,因为我需要在回调中进行一些额外的处理 简而言之,我可以在回调url的末尾追加一个查询字符串吗? 为了好玩,我尝试在请求中对回调url进行编码(根据他们的文档,这显然是不允许的

我在向回调URL添加查询时遇到问题。我在尝试授权以下字符串时遇到无效的URI方案错误:

我在这里的论坛帖子中读到了一些相互矛盾的信息。有人说可以向回调中添加查询字符串,还有人说这会导致错误

如果我删除?type=linkedin,我就可以完全授权并接收令牌。如果我可以在回调url上使用查询字符串,那么我的生活就会轻松得多,因为我需要在回调中进行一些额外的处理

简而言之,我可以在回调url的末尾追加一个查询字符串吗?

为了好玩,我尝试在请求中对回调url进行编码(根据他们的文档,这显然是不允许的):

这也导致了一个错误,但值得一试

此处的文档:表示可以使用查询参数。在第一个请求中,似乎我做得正确。在此页面上张贴#25-表示必须删除查询参数才能使其正常工作


有没有人有使用oAuth2.0在linkedin API的回调url中成功传递其他查询参数的经验?如果是这样,我做错了什么?

我迫不及待地等待Linkedin代表的回应。经过大量实验,我只能推测回调中不允许使用额外的查询参数(感谢您使我的应用程序更加复杂)。正如第25篇文章中的问题所建议的那样,我已经在请求的“state=”参数中隐藏了我需要的东西,以便它返回到我的回调中

在我的情况下,我正在处理来自回调的多个API和来自多个用户的请求,所以我需要知道类型和用户号。作为一种解决方案,我将随机字符串附加到前缀,以便可以在回调中提取查询参数并对其进行处理。因此,每个state=都是唯一的,并为缓存/从缓存获取对象提供唯一的密钥。。 so state=“Linkedin-5hnx5322d3-543”

所以,在我的回访页面上(为你们c#各位)


你不允许那样做。 参考文件:

请注意:

我们强烈建议尽可能使用HTTPS URL必须是绝对的(例如“”,而不是“/auth/callback”) 忽略URL参数(即与相同) URL不能包含#(即“无效”)

_stateString=Request["state"];
_receivedUserId = _stateString.Split('-')[2];
_receivedCacheKeyPrefix = _stateString.Split('-')[0];

if(_receivedCacheKeyPrefix == "Linkedin") {
     getUserDomain(_receivedUserId);
     oLinkedIn.AccessTOkenGet(Request["code"],_userDomain);
     if (oLinkedin.Token.Length > 0) {
     _linkedinToken = oLinkedin.Token;
     //now cache token using the entire _statestring and user id (removed for brevity)
}