URL已阻止:此重定向失败,因为重定向URI未列入白名单....(Localhost Web应用程序)

时间:2016-02-19 16:11:48

标签: facebook laravel-5.2 laravel-socialite socialize-sdk

网址已阻止:此重定向失败,因为重定向URI未在应用的客户端OAuth设置中列入白名单。确保启用了客户端和Web OAuth登录,并将所有应用程序域添加为有效的OAuth重定向URI。

我已经安装了laravel / socialite,我试图将我的应用程序与facebook链接!安装包后,创建我的Facebook应用程序,我尝试访问我的应用程序上的Facebook登录页面,但它一直告诉我,那是某种URL错误...... ???任何想法。?

9 个答案:

答案 0 :(得分:18)

这是重定向网址问题。 Facebook会自动生成一个重定向网址,即http://...[your域名] .... / signin-facebook 。您需要将此网址与您自己的redirect_URL一起添加到客户端OAuth设置,如下所示: enter image description here

希望有所帮助

答案 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是这样的

https://www.example.com/social-signin?provider=facebook

别忘了对(URL)进行如下编码:

https%3A%2F%2Fwww.example.com%2Fsocial-signin%3Fprovider%3Dfacebook

最终的Facebook oauth uri应该如下所示:

https://www.facebook.com/v4.0/dialog/oauth?client_id=YOUR_CLIENT_ID&scope=email&auth_type=rerequest&response_type=token&display=popup&redirect_uri=https%3A%2F%2Fwww.example.com%2Fsocial-signin%3Fprovider%3Dfacebook

答案 8 :(得分:0)

就我而言,HTTPS 协议有问题。必须使用您的域或本地主机服务器 HTTPS 协议,

旧的本地主机网址:http://127.0.0.1:8000/

新的本地主机网址:https://127.0.0.1:8000/

将 URL 放入 Facebook 登录设置中的有效 OAuth 重定向 URI,

<块引用>

https://127.0.0.1:8000/social-auth/login/facebook/

https://127.0.0.1:8000/social-auth/complete/facebook/