Federated authentication in Windows Azure using Facebook as IP - facebook

All answers to my question lead to a year old document (http://msdn.microsoft.com/en-us/library/windowsazure/gg185919.aspx) which is not correct anymore - the section "To obtain a Facebook Application ID and Facebook Application Secret" describes the process than cannot be used on today's Facebook site for developers.
I am hoping that someone who has Facebook experience can get me the "current version" of this 7 steps long process described as:
Create a Facebook account at http://facebook.com
Navigate to http://www.facebook.com/developers/ (my note: this is wrong - the url should be developers.facebook.com)
On the Facebook | Developers page, click the + Set Up New Application button, and then follow the instructions. (What instructions)
On the Facebook | Edit <> page, click the Web Site link on the left. (No such link)
Copy Application ID and Application Secret. You will use these when you configure Facebook as an identity provider on the ACS Management Portal in the next step
Specify your fully qualified domain name (FQDN) URL to your namespace, including the leading HTTPS. Your namespace will be different.
Click the Save Changes button
The step 6 is the biggest problem - it is the insertion of Azure ACS specific information into Facebook's world and was not able to find the field on Facebook App form creation where this belongs to. Obviously, I do not know anything about Facebook's app creation.

Apologies #nikivancic for not being able to try it out for myself, but I think what you're looking for is in the application settings.
In Facebook
Click the edit button on the top right for the application you have
just created
In the left hand menu, under settings, click on Basic
(you might already be there)
Under 'Select how your app integrates with Facebook', click the 'Website with Facebook Login' option
This will reveal a textbox to enter the url to redirect to on login - I believe this is where you need to enter the URL to your namespace in ACS.
Again - apologies for not being able to test it right now, but try following this and see if that works

Related

Google not showing promt to select google account

We have web application with keycloak as identity broker, google SAML app as IDP for google managed workspace for domain say mycompany.com. Integration works fine for except a case described below.
If user is logged in with only one non SAML app google account, google returns
403 Error: app_not_configured_for_user.
i.e. If I am logged as with my personal gmail acccount & not with mycompany.com account
I have inspected SAML AuthnRequest payload SAML tracer which has ForceAuthn="true" but still it does not show up account chooser page.
I went through couple of stackoverflow threads. Few provided solution about using account chooser url and redirecting it to auth page https://accounts.google.com/accountchooser?continue={theredirectURL}.
Looking at community to help suggesting clean solution.
This error pretty much depends on which account is the primary one in the Google account chooser as it always takes that to complete the sign in process automatically.
There is no official way or setting from Google to do this, however the mosto commonly used workaround is to add the following URL to the Start URL section of the SAML app settings for it to force the authentication whenever you click on it.
https://accounts.google.com/AccountChooser?continue=https://accounts.google.com/o/saml2/initsso?idpid=[REPLACE]s&spid=[REPLACE]&forceauthn=false
There are 2 parameters that you need to replace in that URL and you need to get them from the Google apps menu next to your profile picture, then hover over the SAML app that you want to change and right click on it, then copy the link address and that will show the idpid and spid values.

Cannot get manage_pages publish_pages permission for admin of a Facebook app

I'm trying to develop a Nodejs app that will automatically post images/videos to my page once/twice per day.
When using it in Development mode everything works fine, but after changing the app to Live mode, using the Graph API explorer I cannot get permissions to manage_pages and publish_pages. I'm asking for these permissions as the user with admin roles both at the page and the app.
I've read the documentation, and it seems to me that as an admin I should be able to get those permissions and get a page access token, but I can't.
Is there anyone that knows what's wrong?
Thank you!
To resolve this issue:
Open your Facebook profile (the same one that has been added as an
admin on the target facebook page).
At the top-right of the page click on the down arrow and select
"settings". From the left menu select "Business Integrations".
Look for the app that is linked to the target page and click on the
"View and edit" link.
Ensure under the "Manage your Pages" -> "Pages" title the target
facebook page is selected. Note: You might have to click on "See all
Pages" to see all the pages linked to your facebook profile.
Do the same by scrolling down to the "Show a list of the Pages you
manage" title, you will need it later.
Click on save.
your application will work fine if you stay in development mode.
If you need the application to publish with a cronjob or something similar and nothing else, you don't need to put your application live.
Also, you probably need to get a permanent token, that can be done by following that method :
http://stackoverflow.com/questions/17197970/facebook-permanent-page-access-token

How should I deal with the Facebook app privacy policy URL in developers page?

I'm trying to import fb-login function and there are some features which need to be inspected by facebook such as job status, education, etc.
And they're saying that they requires privacy policy URL. So, I made a facebook page, which I will use as a landing page for my app, and wrote down the Privacy Policy to the Note.
After that, I copied the note's url and pasted it to the Privacy Policy URL box. I tried to save and proceed, but than error message comes up,
Facebook URL: Facebook URL cannot be crawled
So, my question is this: Is it unavailable to use facebook page to submit the privacy policy URL? This is my first time importing fb-login, so I just don't know what should I do and what shouldn't I do.
This should work ( Kind of a trick to fool FB ;) )
Create a free privacy policy here.
Upload your privacy policy (the one you just created) to your google drive account.
Select the uploaded privacy policy file and click on Get Shareable link. Copy and paste the generated link into your facebook app's Privacy Policy URL input box and click on save changes.
Thanks ☺️
This is likely the problem.
After that, I copied the note's url and pasted it to the Privacy
Policy URL box. I tried to save and proceed, but than error message
comes up, 'Facebook URL: Facebook URL cannot be crawled'
Instead of using a Facebook note, you're likely required to host that privacy policy yourself publicly. Given that Facebook can be a silo and hide pages whenever they like from the public web, you'd be well advised to move it to a site of yours.
This also seems to be Facebook's requirement:
Provide a publicly available and easily accessible privacy policy that
explains what data you are collecting and how you will use that data.
You may use Account Information in accordance with your privacy policy
and other Facebook policies. All other data may only be used outside
your app after you have obtained explicit user consent.
Include your privacy policy URL in the App Dashboard.
Link to your privacy policy in any app marketplace that allows you to.
Comply with your privacy policy.
How can you do that?
There are a few options:
host on your own site
host on sites that allow to create public and persistent pages (just a thought, github?)
use a dedicated tool for privacy policy creation and hosting like iubenda
Hope this helps (p.s. I work for iubenda)
Facebook has provided a link to test your URL which will show you that your URL is as per their standard or not.
Test your URL here:
https://developers.facebook.com/tools/debug/sharing/
Working
go to this link https://developers.facebook.com/apps
then click Basic tab setting
scroll down till you see +add platform tab and click it
remove all allowed platform link android web....NB makes sure you have the details saved somewhere else ..like on notepad
then go to top and switch the mode from off to live.
your app will be live
then go down again to add platform and add your plaform like android or web
The URL to your Privacy Policy must be public and accessible. That's both a requirement from Facebook and law (see California Business Code and CalOPPA in the US). Here's Facebook Developer Policy:
If you received the Facebook URL: Facebook URL cannot be crawled try to also not block bots access to the Privacy Policy page, i.e. Facebook Link Preview could crawl it or Google bot.
Some of the previous suggestions are not for free as for now. One of the free options I found:
https://www.iubenda.com/en/start-generating
Be sure to select Facebook app, NOT Mobile app, and click "Start Generating"
For those looking for a free solution, I used https://www.termsfeed.com/privacy-policy-generator/ and it was validated in the Meta API in less than 2 minutes.
This site will offer a paid professional solution, but the free one worked like a charm.
Don't worry about hosting. the site gives you a hosted url
Go to Dashboard, Click on the Application
Go to Settings --> Basic at Sidebar
Remove apps if there is any under Add platform
Add policy URL and Turn the status to LIVE
and then you can add apps of your choice for live apps

Facebook App Authorization popup not closing

I have a web site that's set up as a facebook application.
When new users access the web site and click the login button, the "Authorize this application" popup appears and after authorizing the application instead of closing, the popup reloads the whole site insite itself.
Has anyone experienced this kind of problems before?
Edit your app's settings:
Go to the Web Site tab and set the Site URL to something like http://www.yourdomain.com/yourapp/ and the Site Domain to something like yourdomain.com
I had the exact same problem until 1 minute ago. This solved it. Hope this helps.
Seems like you are using incorrect api key (or api key that is not linked to this url).
Go to http://www.facebook.com/developers/ and check if all urls are pointing to the right locations, "Site Domain" is set. Check that you are using correct api key (or id) and secret key in your SDK.

How do I create a Facebook application for use only on page tabs?

I'm currently creating a very basic Facebook application and I've run into a bit of a roadblock, so any help would be appreciated.
My application is as follows: I want to have the application pull records from my database that the user has added to my site off of Facebook and display them in a tab on one of their fan pages. Everything the user could add or edit will be done on my site (not on/through Facebook) so all I need to do is have my application check which page is requesting and display their records. I imagine the install will go something like this: user signs up on my site, user adds app to their page, user links their account and fan page (thinking of the best way to do this), user adds records.
The problem I'm running into is there's barely any information on the new Facebook PHP-SDK (does not use the require_login() method) and I'm not really sure how to start. Again, the only functionality I need on the Facebook end is for them to be able to add my application to their fan page and be able to distinguish between which page is requesting my app.
Does anyone have any resources for creating a basic application with the new SDK? Facebook's dev section is absolutely no help for beginners and I'm pulling my hair out despite a pretty solid grounding in backend development.
Thanks!
tab apps have some limitations comparing to regular fb apps. You can read about those here.
How to make a tab - register a facebook app, fill out "Tab Name" and "Tab URL" fields in the profiles settings (you might need to fill out "canvas" settings first).
Now all tabs will be loaded from "Tab URL" on your server. How to find out who is tab owner - check for fb_sig_profile_user request parameter in your tab page handler, which contains owner's user id.
This should get you started.