Authenticate a user from a page tab

血红的双手。 提交于 2019-12-11 18:50:05

问题


I'm trying to make a Facebook page tab where people can vote for their favorite video or music track from a bunch of embedded files. I need to get a unique ID from each user to make sure that they can only vote once. The signed_request only contains the user's id if they have authorized my app.

I have tried to have users authorize my app using the FB.login() javascript api, but I get the error:

An error occurred with Remix // Rework Vote. Please try later

API Error Code: 191

API Error Description: The specified URL is not owned by the application

Error Message: Invalid redirect_uri: Given URL is not permitted by the application configuration.

As far as I know, I have not set any redirect URL. Do I need to set this somewhere, or is this the not right approach to get a user to authenticate my page tab?


回答1:


You must specify both "Site URL" (or "Mobile Web URL") and "App Domain" to use OAuth flow...

See where to fill the details on https://developers.facebook.com/docs/authentication/#redirect-uris




回答2:


So I managed to get this to work by ticking "App on Facebook" in the app settings, and setting the Canvas URL and Secure Canvas URLs to be the same as the Page Tab URL equivalents.

This worked even though this isn't a full app, it's only a page tab, and it won't function as an app unless it's in a container page.

I'm guessing this is a bug in Facebook - the UI implies that you can have a page tab only app. The documentation doesn't say you can't, and I can't think of a good technical reason for it not to condsider a page tab URL as a valid URL.

Thanks to @julio-santos for pointing me at Facebook - Error Message: redirect_uri is not owned by the application, which seems to be the same problem in a slightly different context.



来源:https://stackoverflow.com/questions/8945870/authenticate-a-user-from-a-page-tab

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!