HowTo: Authenticate to Facebook using GAM

Unofficial Content
This documentation is valid for:

This article explains how to authenticate your users with Facebook using GeneXus Access Manager (GAM).

1. Enter to the GAM's Backend and go to the Authentication Types section. Create a new OAuth 2.0 Authentication Type and define basic information in the General section: Name, Description, Images (optional), etc.

2. In the Configuration section you need to define, for the General, Authorization, Token and User Information tab, the following:

General

Client ID:     client_id         Value: <clientid>
Client Secret: client_secret     Value: <clientsecret>
Redirect URL:  redirect_uri      Value: https://<server>/webapp

Authorization

URL: https://graph.facebook.com/v2.12/oauth/authorize
Response type:  response_type    Value: code
Scope:          scope            Value: email+user_birthday
State:          state
Include ClientID and RedirectURL
Additional Parameters for Smart Devices: display=touch
Response:
Access code TAG: code
Error description TAG: message

Token

URL: https://graph.facebook.com/v2.12/oauth/access_token
Header Cotent type: Content-type   Value: application/x-www-form-urlencoded
Grant type TAG:     grant_type     Value: authorization_code
Include = todo
Aditional Parameters:
Response:
Access token TAG: access_token
Token type TAG: token_type
Expires in TAG: expires_in
Refresh Token TAG: refresh_token
Error description TAG: message
Validate external token = True
Refresh token URL = leave it empty. Uses the same URL used to ask for a Token. 

User Information

URL:  https://graph.facebook.com/me
Method: Get
Header Content type: Content-type    Value: application/json;charset=utf-8
Include Access Token: access_token
Additional Parameters: fields=id,email,first_name,last_name,birthday,gender,link,locale,timezone,verified,updated_time,picture
Email TAG: email
External ID TAG: id
Name TAG:  id
First name TAG: first_name
Last name TAG: last_name
Gender TAG: gender     Values: M=male&M=hombre&F=female&F=mujer
Birthday TAG: birthday
URL Image TAG: url
URL Profile TAG: link
Language TAG: locale
Time zone TAG: timezone
Error description TAG: message

Availability

As of GeneXus 15 Upgrade 11.

See Also

GAM - OAuth 2.0 Authentication Type