我正在使用' omniauth-linkedin-oauth2'。
当我使用linkedin登录时,我收到此错误
无效的redirect_uri。该值必须与使用API密钥注册的URL匹配。
这是我的设置:
答案 0 :(得分:27)
返回LinkedIn开发者网站(https://www.linkedin.com/secure/developer)再次检查我的设置。所有内容都与API密钥,密钥和OAuth 2.0重定向网址相匹配。
搜索网络寻找一些线索。找不到一个。
疯狂的问题:
然后我在网址中看到Owin将一些额外的字符串附加到redirect_uri“signin-linkedin”。
当我解码URL时,我看到了http://localhost:54307/signin-linkedin。
我使用此URL并将其放在LinkedIn开发者网站的OAuth 2.0重定向URL字段中。
答案 1 :(得分:7)
请检查您的redirect_url。对于我的情况,我看到这样。
为此我添加了OAuth 2.0授权重定向网址的网址:
http://localhost:1729/signin-linkedin
其中http://localhost:1729 =基本网址和
signin-linkedin =在基本网址后添加的字符串
答案 2 :(得分:6)
您可以在网址中查看您收到的错误消息。
例如。如果您使用的是python的社交身份验证,则网址将如下所示:
https://www.linkedin.com/uas/oauth2/authorization?scope=r_basicprofile+r_emailaddress&state=XXXXXX&redirect_uri=http://example.com.au/sa/complete/linkedin-oauth2/&response_type=code&client_id=YYYYYYY
所以你可以使用以上网址的这一部分来重定向网址
http://example.com/sa/complete/linkedin-oauth2/
答案 3 :(得分:0)
值得一提的是,当使用库来处理oauth时:某些库无法关注所使用的协议(或者至少需要进一步的参数化)。例如,我将Linkedin https://example/callback作为oauth2 url,但是库以http://example/callback作为参数发送了请求。
答案 4 :(得分:0)
尝试从zurb Reveal模式弹出窗口进行授权时,我有了这个。就我而言,问题是弹出窗口中显示的页面的URL不在LinkedIn开发者网站上的OAuth2重定向URL列表中。
这很容易被忽略,因为模式中页面的页面URL不是当前在浏览器地址栏中显示的URL。一旦我添加了弹出窗口中显示的页面的URL,就可以了。
答案 5 :(得分:0)
另一种解决方案是只验证您一直在使用的client_id。.redirect_uri列表中的每个更新都会使client_id得到更新。
答案 6 :(得分:0)
花了几个小时后,我终于找到了解决方案。您收到一个错误,没有问题,只需检查url并找到redirect_uri。在您的linkedin开发人员帐户oauth2重定向字段中复制并粘贴它的价值。