Hello again,

Thanks for taking your time to engage with me. Hopefully I can get this
working sometime soon.

Regarding the update, I re-cloned the repository and notied a w2p file
there. I used this file to upload to the web2py admin interface, which
gives me the same error as before. Are you saying that I need to extract it
first, add my keys to it, and then try uploading it?

Either way, I did it manually using tar and I get this traceback now, which
is similar to the above:

Traceback (most recent call last):
  File "/home/james/Development/web2py/gluon/restricted.py", line 217,
in restricted
    exec ccode in environment
  File 
"/home/james/Development/web2py/applications/oauth/models/plugin_social_auth.py"
<http://127.0.0.1/admin/edit/oauth/models/plugin_social_auth.py>, line
7, in <module>
    Field('user', 'reference auth_user', writable=False, notnull=True))
  File "/home/james/Development/web2py/gluon/dal.py", line 8139, in define_table
    table = self.lazy_define_table(tablename,*fields,**args)
  File "/home/james/Development/web2py/gluon/dal.py", line 8156, in
lazy_define_table
    table = table_class(self, tablename, *fields, **args)
  File "/home/james/Development/web2py/gluon/dal.py", line 8665, in __init__
    check_reserved(field_name)
  File "/home/james/Development/web2py/gluon/dal.py", line 7850, in
check_reserved_keyword
    'invalid table/column name "%s" is a "%s" reserved SQL/NOSQL
keyword' % (name, backend.upper()))
SyntaxError: invalid table/column name "user" is a "ALL" reserved
SQL/NOSQL keyword


Guess that needs to be changed as well :)

-- James


On Sat, Feb 22, 2014 at 3:41 AM, Quint <muijsenbe...@gmail.com> wrote:

> Hi,
>
> About the exception:
>
> I changed the Field name to "oauth_uid".
> I did not notice this problem because i'm using GAE.
>
> About "*App does not exist or you are not authorized*":
>
> This means that your oauth key/secret is not properly set in your
> configuration.
> You are not supplying a valid/authorized oauth client key to the provider.
> Which provider is giving this message?
> What does your configuration look like?
>
> What is find strange is that that plugin packed/installed by yourself is
> giving different result than te one installed manually. This should be
> exactly the same right? Are you sure everything is included in the one
> packed by yourself?
>
> Regards,
>
> Quint
>
>
> On Saturday, February 22, 2014 4:15:11 AM UTC+1, James Q wrote:
>>
>> Interesting plugin, thanks for the link.
>>
>> I took that repository, tar'ed and gzip'ed it, and uploaded it as a
>> plugin. Says "App does not exist or you are not authorized". No idea what
>> that means, so I did it manually in a new app called oauth. Here is what I
>> get as an exception when trying to open up the new app:
>>
>> Traceback (most recent call last):
>>   File "/home/james/Development/web2py/gluon/restricted.py", line 217, in 
>> restricted
>>     exec ccode in environment
>>   File 
>> "/home/james/Development/deemok-web2py/applications/oauth/models/plugin_social_auth.py"
>>  <http://127.0.0.1/admin/edit/oauth/models/plugin_social_auth.py>, line 7, 
>> in <module>
>>     Field('user', 'reference auth_user', writable=False, notnull=True))
>>   File "/home/james/Development/web2py/gluon/dal.py", line 8139, in 
>> define_table
>>     table = self.lazy_define_table(tablename,*fields,**args)
>>   File "/home/james/Development/web2py/gluon/dal.py", line 8156, in 
>> lazy_define_table
>>     table = table_class(self, tablename, *fields, **args)
>>   File "/home/james/Development/web2py/gluon/dal.py", line 8665, in __init__
>>     check_reserved(field_name)  File 
>> "/home/james/Development/web2py/gluon/dal.py", line 7850, in 
>> check_reserved_keyword
>>     'invalid table/column name "%s" is a "%s" reserved SQL/NOSQL keyword' % 
>> (name, backend.upper()))
>> SyntaxError: invalid table/column name "uid" is a "ALL" reserved SQL/NOSQL 
>> keyword
>>
>> Can you possibly rename the field:
>>
>> Field('uid', 'string', notnull=True, writable=False, length=255),
>>
>> to:
>>
>> Field('oauth_uid', 'string', notnull=True, writable=False, length=255),
>>
>> Or something along those lines?
>>
>>
>>
>>
>>
>> On Friday, February 21, 2014 3:55:00 AM UTC-5, Quint wrote:
>>>
>>> Hi,
>>>
>>> You could have a look at 
>>> python-social-auth<https://github.com/omab/python-social-auth> and
>>> if you like it and don't know how to integrate it, have a look at this
>>> plugin <https://code.google.com/p/w2p-social-auth/> to integrate it in
>>> web2py.
>>>
>>>
>>> Quint
>>>
>>> On Wednesday, February 19, 2014 12:33:29 AM UTC+1, James Q wrote:
>>>
>>>> I have a feeling that this topic comes up often, but I cannot seem to
>>>> Google a good solution to this. Essentially, I want users to be able to
>>>> login using either the built in Auth, or login via some Oauth provider,
>>>> like Twitter and Facebook. I have seen previous solutions using
>>>> ExtendedLoginForm and custom Twitter classes that inherit from
>>>> OAuthProvider, but they no longer seem to work. The Twitter code I find no
>>>> longer supports the newest Twitter API; the linkedin code from the web2py
>>>> book also  does not work.
>>>>
>>>> Here is sample code I have now, which only seems to constantly redirect
>>>> me to the logout page:
>>>>
>>>> 1) Created new web2py application by copying the welcome one to a
>>>> folder named 'oauth'
>>>> 2) Added this code to db.py (taken from multiple examples online):
>>>>
>>>> from gluon.contrib.login_methods.oauth10a_account import OAuthAccount
>>>> from oauth2 import Client, Consumer, Token
>>>>
>>>> class TwitterAccount(OAuthAccount):
>>>>     AUTH_URL = "http://twitter.com/oauth/authorize";
>>>>     TOKEN_URL = "https://twitter.com/oauth/request_token";
>>>>     ACCESS_TOKEN_URL = "http://twitter.com/oauth/access_token";
>>>>     CLIENT_ID = "..."
>>>>     CLIENT_SECRET = "..."
>>>>
>>>>     def __init__(self, g):
>>>>         OAuthAccount.__init__(self, g, self.CLIENT_ID,
>>>> self.CLIENT_SECRET, self.AUTH_URL, self.TOKEN_URL, self.ACCESS_TOKEN_URL)
>>>>
>>>>     def get_user(self):
>>>>         if self.accessToken() is not None:
>>>>             consumer = Consumer(key=self.CLIENT_ID,
>>>> secret=self.CLIENT_SECRET)
>>>>             client = Client(consumer, self.accessToken())
>>>>             resp, content = client.request('http://api.
>>>> twitter.com/1/account/verify_credentials.json')
>>>>             if resp['status'] != '200':
>>>>                 # cannot get user info. should check status
>>>>                 #redirect("http://google.com";)
>>>>                 return None
>>>>             u = json.loads(content)
>>>>             return dict(first_name = u['name'],
>>>> username=u['screen_name'], name=u['name'], registration_id=u['id'])
>>>>
>>>> auth.settings.login_form=TwitterAccount(g=globals())
>>>>
>>>> 3) Going to 127.0.0.1/oauth/user/login redirects me to user/logout.
>>>>
>>>>
>>>> Besides my frustration in trying to find timely information about this,
>>>> is there working code out there that is *recent*, in that it works with
>>>> latest web2py and the latest Oauth implementations? I'd really appreciate
>>>> any tips or hints anyone has.
>>>>
>>>>
>>>>  --
> Resources:
> - http://web2py.com
> - http://web2py.com/book (Documentation)
> - http://github.com/web2py/web2py (Source code)
> - https://code.google.com/p/web2py/issues/list (Report Issues)
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "web2py-users" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/web2py/5JkLj4muEbw/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> web2py+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to