Hi Michele!
Thanks for your answer! How can I override OAuthAccount subclass putting
http_host as a fixed?
I'm doing:
class FaceBookAccount(OAuthAccount):
"""OAuth impl for FaceBook"""
AUTH_URL="https://graph.facebook.com/oauth/authorize"
TOKEN_URL="https://graph.facebook.com/oauth/access_token"
def __init__(self, g):
OAuthAccount.__init__(self, g,
YOUR_CLIENT_ID,
YOUR_CLIENT_SECRET,
self.AUTH_URL,
self.TOKEN_URL)
self.graph = None
def __redirect_uri(self, next=None):
"""Build the uri used by the authenticating server to redirect
the client back to the page originating the auth request.
Appends the _next action to the generated url so the flows
continues.
"""
r = self.request
http_host=r.env.http_x_forwarded_for
if not http_host: http_host=r.env.http_host
http_host='MYAPP.fluxflex.com'
url_scheme = r.env.wsgi_url_scheme
if next:
path_info = next
else:
path_info = r.env.path_info
uri = '%s://%s%s' %(url_scheme, http_host, path_info)
if r.get_vars and not next:
uri += '?' + urlencode(r.get_vars)
return uri
# override function that fetches user info
def get_user(self):
"Returns the user using the Graph API"
if not self.accessToken():
return None
if not self.graph:
self.graph = GraphAPI((self.accessToken()))
try:
user = self.graph.get_object("me")
return dict(first_name = user['first_name'],
last_name = user['last_name'],
email = user['email'],
registration_id = user['id'])
except GraphAPIError:
self.session.token = None
self.graph = None
return None
What am I doing wrong? Because it's ignoring my override...
Thanks in advance!
On Sun, Nov 13, 2011 at 8:06 PM, Michele Comitini <
[email protected]> wrote:
> Hi Tito,
>
> When you call the server from browser do you put the hostname?
> I guess there is a problem with wsgi implementation on fluxflex.
>
> The oauth20_account.py module contains the following method:
>
> def __redirect_uri(self, next=None):
> """Build the uri used by the authenticating server to redirect
> the client back to the page originating the auth request.
> Appends the _next action to the generated url so the flows
> continues.
> """
>
> r = self.request
> http_host=r.env.http_x_forwarded_for
> if not http_host: http_host=r.env.http_host
>
> url_scheme = r.env.wsgi_url_scheme
> if next:
> path_info = next
> else:
> path_info = r.env.path_info
> uri = '%s://%s%s' %(url_scheme, http_host, path_info)
> if r.get_vars and not next:
> uri += '?' + urlencode(r.get_vars)
> return uri
>
> Override it in your OAuthAccount subclass putting http_host as a fixed
> value instead of taking it from request.env
>
> HTH
>
> mic
>
>
>
> 2011/11/12 Tito Garrido <[email protected]>:
> > Hi Folks!
> >
> > Are you able to login using Oauth2.0 on fluxflex?
> >
> > I'm trying to but seems that OAuthAccount grabs the ip of my instance and
> > the facebook never recognizes my redirect URL.
> >
> > Anybody with this problem?
> >
> > Regards,
> >
> > Tito
> >
> > --
> >
> > Linux User #387870
> > .........____
> > .... _/_õ|__|
> > ..º[ .-.___.-._| . . . .
> > .__( o)__( o).:_______
> >
>
--
Linux User #387870
.........____
.... _/_õ|__|
..º[ .-.___.-._| . . . .
.__( o)__( o).:_______