I'm having a problem with my Facebook application, I got an error like this.
API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: redirect_uri is not owned by the application.
What are the best solutions for this error?
I assume you have the Website option active in your app settings.
Did you fill the site url there?
Thing is, if you own the site.com domain and specify it for your app, you will not be able to use a redirect url to othersite.com after login, or even domain.site.com. I think you need to specify if you are going to use subdomains.
Anyway, what sort of app are you trying to build? Is it a Canvas App? Does this error appear when you try to ask for permissions or login the user? In this case, just fill out the Site URL in your app settings page
Related
The instructions from Janrain for social login provider setup conflict with the hint within the error message from the Facebook https response. Details follow.
Error screen when testing Facebook from Janrain; note that same error happens in any browser such as Firefox, Chrome if you test the sign-in widget.
Error Text from Facebook:
App domains must match the domain of the Facebook Web Games URL (https), Mobile Site URL, Unity Binary URL, Site URL or Secure Page Tab URL.
Please correct these domains: (snip).
Based on the hints from the Janrain Facebook Provider Setup wizard, I have set the website to the URL on rpxnow (i.e. definitely not my web site).
What URL(s) should then be entered into Basic and/or Advanced Settings such that Facebook can process the login? I have tried using the rpxnow URLs and my own web site URLs. Either of 2 things happens regardless of whether I include https:// or start from the subdomain of any combination of names. Either Facebook will not save the details on Basic App Domain and gives the above error, or Facebook will save the details but then gives the error in the first screenshot above.
I do not see how this can ever work because Facebook wants a match on the domain and rpxnow will never be the domain that I use to invoke the sign-in.
For completeness, I will show my Facebook settings, so it will be obvious that they do not match the current Janrain Setup Guide for Facebook.
Basic Settings
Is the Namespace relevant? Better to leave blank? Does it need to match something within Janrain?
Advanced Settings
I could believe that something has to be done to allow cross-domain access. Does anyone have this working with a new Janrain account (3 weeks old) and a new Facebook developer account (old Facebook account, new developer app)?
Replying as an answer so I can attach a picture.
I have a feeling this might be something to do with Facebook's impending changes to their app security (https://developers.facebook.com/blog/post/2017/12/18/strict-uri-matching/ ). It appears that you need to add the Valid OAuth redirect URI for any new API v2.11 apps now (not after March). We were already planning to address this before March but we will have to update sooner.
For your Facebook app you will have to set up the "Valid oAuth redirect URIs" similar to the following screen shot, just replace "pbjanraintest" with whatever your Engage app name is:
Sorry for all the trouble you have had. It's hard to keep up with these providers when the messaging doesn't align with what their apps and api's are actually doing.
I just received the same error this week. Leave off the https:// in the OAuth redirect URIs box.
The app I'm building is going to have multiple parts over various subdomains, i.e. front-end "domain.ca", and api would be "api.domain.ca". In the facebook app settings we set the domain as "domain.ca", and the website url as "http://domain.ca", it says it would allow all subdomains access as well.
When I try to use the auth on "api.domain.ca", I get "Given URL is not allowed by the Application configuration: One or more of the given URLs is not allowed by the App's settings. It must match the Website URL or Canvas URL, or the domain must be a subdomain of one of the App's domains."
How can I make this work? We want the user to be able to use the login on the front side, and pass the access_token to the api side to check if the user exists, or create a new user and attach the social login.
Any help would be greatly appreciated.
Thank you to Periklis Koutsogiannis who posted an answer to my question on the Facebook Developer Community page: "You may fill the Valid OAuth redirect URIs under Client OAuth Settings in Settings/Advanced." This solved the issue.
My website is: www.askachristianlive.org/forum
In the upper right you will see a Facebook icon that is supposed to allow you to login using your Facebook credentials. Every time I get the following error:
Given URL is not allowed by the Application configuration: One or more of the given URLs is not allowed by the App's settings. It must match the Website URL or Canvas URL, or the domain must be a subdomain of one of the App's domains.
I have changed everything I can think of in the app settings and it still will not work. Can you please tell me what I need to do?
My app domain is set to www.askachristianlive.org
Select how your app integrates with Facebook
Website with Facebook Login
Site URL: http://www.askachristianlive.org
I don't know what else to do.
Your problem is that the url generated by oneall is askachristianlive.api.oneall.com which most likely isn't in your allowed app domains
See if you can add the above url to your app domains in your app settings list and if that works.
The problem is oneall is another 3rd party on top of a third party (Facebook in this case) so although your app config in facebook matches your domain, it doesn't match the fact that you have to go through oneall. To be honest I'm surprised that oneall haven't highlighted this fact on their website, as these callback urls would never work for facebook otherwise
I'm trying to build a Facebook app, but everytime I click in authorize, I got an error.
In the code, I'm calling the Facebook API like this:
https://www.facebook.com/dialog/oauth?
client_id=MY_APP_ID
&display=popup
&redirect_uri=http://www.my-url.com/823/
&scope=user_about_me
But instead of authorizing the user, the browser redirect to this URL:
https://www.facebook.com/dialog/permissions.request
And I always get this error:
SECURITY WARNING: Sharing the above URL with anyone is the same as
sharing your Facebook password with them - it will give them access to
your Facebook account. Despite what you may have been promised, you
will not receive cash, a gift card, or free airline tickets in
exchange for this URL.
My Facebook Settings Page:
http://i.stack.imgur.com/g9S9m.png
What am I doing wrong?
Any help would be appreciated! :)
PS: I just tried to change the "redirect_uri", from my site's URL(www.my-url.com/823/) for the canvas page(apps.facebook.com/my-app), and it works.
But I want it to redirect to my site, not for the canvas page.
I had another application that was removed by Facebook last week. The domain I'm trying to use is the same of that old app removed. Is it possible that Facebook put the domain in a black list? Or am I just missing something?
Have you tried to replace the « Website with Facebook Login » by the original URL? (Without the example path (823))
By the way, don't forget to complet app domains.
The problem was that my app was removed by Facebook. When this happens, Facebook puts the site domain in a black list.
The solution was to redirect to the canvas page.
I'm living in Vietnam now. As I known and tested, FB is blocked now. Therefore I have to use static IP for facebook (60.254.175.42). Using this method, I can log into Facebook from WEB browser without any problem. But when I use OAuth protocol to integrate FB into my website (ex. allows user use FB account to log into my website), I always receive the message 'The requested URL "/oauth/authorize?client_id=152190004803645&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A8888%2Ffb&scope=publish_stream,email,user_birthday,user_location", is invalid.
Reference #9.26affe3c.1328519733.956d48'.
Please advice,
Thanks
Ensure that you using full URL and no just part of it before redirecting user, full URL should look like this:
http://www.facebook.com/dialog/oauth/authorize?client_id=152190004803645&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A8888%2Ffb&scope=publish_stream,email,user_birthday,user_location
Also check that you defined localhost as App Domain in your application settings.