网址已阻止:此重定向失败,因为重定向URI未在应用的客户端OAuth设置中列入白名单。确保启用了客户端和Web OAuth登录,并将所有应用程序域添加为有效的OAuth重定向URI。
我已经安装了laravel / socialite,我试图将我的应用程序与facebook链接!安装包后,创建我的Facebook应用程序,我尝试访问我的应用程序上的Facebook登录页面,但它一直告诉我,那是某种URL错误...... ???任何想法。?
答案 0 :(得分:18)
这是重定向网址问题。 Facebook会自动生成一个重定向网址,即http://...[your域名] .... / signin-facebook 。您需要将此网址与您自己的redirect_URL一起添加到客户端OAuth设置,如下所示:
希望有所帮助
答案 1 :(得分:15)
我也遇到过这个问题。
我做了什么:
收到此消息后,从浏览器窗口复制URL并进行检查。该URL具有其中提到的重定向URL。
如上所述复制确切的重定向网址,并将其放在有效的OAuth重定向网址下,它将解决问题。
答案 2 :(得分:4)
我已经解决了这个问题(2017年11月),经过多年的努力(但是我是在无意中改变了什么?)。
修复方法是在" Facebook登录"中添加回调网址。 "的产品强>" (在左侧菜单中,在Facebook管理控制台中,不在"高级设置"我已尝试过所有内容:
https://developers.facebook.com/apps/{{your FB app id}}/fb-login/settings/
请注意,如果您有端口号,则需要输入端口号,例如就我而言http://local.dishly.menu:3000/
答案 3 :(得分:2)
我遇到了这个问题,特别是heroku。 我的测试网站不是https。这是http。默认情况下,如果您在输入网址时未手动输入网址,则Facebook会喜欢使用https添加网址。
所以,我添加了两个网址。一个用http,一个用https。现在工作正常\ o /
答案 4 :(得分:0)
我遇到了这个问题,因为我使用Ajax登录并注册了我的网站,所以我添加了此重定向URL
@Produces({ MediaType.APPLICATION_JSON })
@Consumes({ MediaType.MULTIPART_FORM_DATA })
public class FileUploadService {
@Context
private HttpServletRequest request;
@POST
@Path("/upload")
public Response processUpload() throws IOException, ServletException {
String path = "/mypath";
for (Part part : request.getParts()) {
String fileName = getFileName(part);
String fullPath = path + File.separator + fileName;
// delete file if exists
java.nio.file.Path path2 = FileSystems.getDefault().getPath(fullPath);
Files.deleteIfExists(path2);
// get file input stream
InputStream fileContent = part.getInputStream();
byte[] buffer = new byte[fileContent.available()];
fileContent.read(buffer);
File targetFile = new File(fullPath);
// write output file
OutputStream outStream = new FileOutputStream(targetFile);
outStream.write(buffer);
outStream.close();
}
return Response.ok("OK").build();
}
private String getFileName(Part part) {
for (String content : part.getHeader("content-disposition").split(";")) {
if (content.trim().startsWith("filename"))
return content.substring(content.indexOf("=") + 2, content.length() - 1);
}
return "";
}
}
,它非常适合任何用户都可以使用其Facebook帐户登录。
答案 5 :(得分:0)
我将其张贴在这里,以防将来对某人有用,因为我遇到这个问题以寻找答案...
就我而言,在尝试将Facebook作为身份提供程序与Azure AD B2C自定义策略结合使用时,出现了此错误。
Microsoft docs提到了以下格式的给定URL:
https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp
但是,当单击Facebook登录按钮时,它是使用租户ID(而不是租户名称)重定向的,例如:
https://your-tenant-name.b2clogin.com/TENANTIDHERE/oauth2/authresp
这导致该URL被Facebook阻止。
我是通过在此处阅读this answer来发现这一点的。
如果您需要解码重定向到的URL,可以使用以下方法:
https://www.urldecoder.org/
答案 6 :(得分:0)
此问题只有一个有效答案,请分析显示未接受URL的Facebook页面的URL。您需要在其中输入“有效OAuth重定向URI”的网址。
在我的情况下是:
https:// facebook /v3.2/dialog/oauth?client_id=4423058&redirect_uri=https:// {网站名称} / complete / facebook /&state = VnZlfU3hp&return_scopes = true&scope = email
我的回答:
https:// {网站名称} / complete / facebook /
答案 7 :(得分:0)
我遇到了同样的问题,但是我的错误是我没有在Facebook oauth查询字符串中正确编码返回uri。 因此,如果您的返回uri是这样的
别忘了对(URL)进行如下编码:
https%3A%2F%2Fwww.example.com%2Fsocial-signin%3Fprovider%3Dfacebook
最终的Facebook oauth uri应该如下所示:
答案 8 :(得分:0)
就我而言,HTTPS 协议有问题。必须使用您的域或本地主机服务器 HTTPS 协议,
旧的本地主机网址:http://127.0.0.1:8000/
新的本地主机网址:https://127.0.0.1:8000/
将 URL 放入 Facebook 登录设置中的有效 OAuth 重定向 URI,
<块引用>