On Fri, Jan 4, 2013 at 2:57 PM, dlypka <[email protected]> wrote:

> But are you reconnecting to the same web2py session on each request?
>

That's how OAuth Providers work (for the most part)

Would be good if we could create an OAuth Provider in web2py though…


> On Thursday, January 3, 2013 3:20:01 PM UTC-6, Mark Li wrote:
>>
>> I reviewed your code again and looked into the source code for web2py to
>> see how web2py deals with session login cookies.
>>
>> For what I want to accomplish, I believe I have found a method which does
>> not involved changing web2py source code. It's simpler and more straight
>> forward for me to wrap my head around (also not having to worry about
>> storing cookies in the app). Please let me know if there's anything
>> important I am missing or security flaws that I should consider.
>>
>>
>> 1. Embed webview into native Android app, using auth.login_bare to
>> authenticate.
>> 2. On login success, return a token of similar format to web2py's session
>> cookies.
>> 3. Store this token in the database (in a table named 'tokens'), and send
>> back to Android app as a cookie
>> 4. For every request to my web service that requires authentication, send
>> the token as a cookie and have the receiving API controller function
>> extract the cookie/token. If the token is currently in the db.tokens, then
>> the user has been authenticated and the request returns the appropriate
>> data.
>> 5. On logout/password change, delete the issued tokens for this user from
>> db.tokens, so the same token can't be used to authenticate for future api
>> calls.
>>
>> On Tuesday, January 1, 2013 10:33:26 PM UTC-8, dlypka wrote:
>>>
>>> I was not precisely calling from a native Android or native IOS app.
>>> I was using a PhoneGap client, which is different. It is looks like a
>>> web browser but is not a browser client.
>>> PhoneGap can only use HTML5 storage unless you write a native Android /
>>> IOS PhoneGap extension/plugin.
>>> So my technique will work from almost any client platform, even from a
>>> Windows native client app for example
>>> as long as it uses HTTP.
>>>
>>> Also, in my tracing of how web2py handles the client connection, I
>>> believe I found a few wrinkles in the sequence of events
>>> which needed to be handled specially in this case where the client is
>>> not a web browser.
>>>
>>> In your particular case, if you have cookies in the native client, then
>>> that is one less problem to solve,
>>> You probably just have to mimic the HTTP messages that a browser would
>>> send.
>>>
>>> On Tuesday, January 1, 2013 5:19:50 PM UTC-6, Mark Li wrote:
>>>>
>>>> Thanks for the responses, and Happy New Years to you guys too!
>>>>
>>>> dlypka, for your cookieless solution, it assumes that the client app
>>>> can't store/extract tokens? In the Google Android link above, it says that
>>>> both Android and iOS can read and extract the tokens/cookies. So when the
>>>> Android app calls the Web2py app, wouldn't it just pass in the cookie/token
>>>> and have Web2py verify it as it Web2py normally verifies session login
>>>> cookies?
>>>>
>>>>
>>>>
>>>> On Tuesday, January 1, 2013 9:07:16 AM UTC-8, Massimo Di Pierro wrote:
>>>>>
>>>>> :-)
>>>>>
>>>>>
>>>>>
>>>>> On Tuesday, 1 January 2013 10:45:47 UTC-6, dlypka wrote:
>>>>>>
>>>>>> Yes it is my New Year's Resolution to make time to put it in a Slice.
>>>>>>
>>>>>> On Tuesday, January 1, 2013 10:35:49 AM UTC-6, Massimo Di Pierro
>>>>>> wrote:
>>>>>>>
>>>>>>> Perhaps this should go in a web2pyslice?
>>>>>>>
>>>>>>> On Monday, 31 December 2012 21:28:04 UTC-6, dlypka wrote:
>>>>>>>>
>>>>>>>> I developed a solution for this.
>>>>>>>> I posted it here:
>>>>>>>> https://groups.google.com/**forum/?fromgroups=#!topic/**
>>>>>>>> web2py/YVYQHRJmcos<https://groups.google.com/forum/?fromgroups=#!topic/web2py/YVYQHRJmcos>
>>>>>>>>
>>>>>>>> Happy New Year!
>>>>>>>>
>>>>>>>>
>>>>>>>> On Monday, December 31, 2012 4:38:40 PM UTC-6, Mark Li wrote:
>>>>>>>>>
>>>>>>>>> I am currently trying to authenticate users on an Android app to
>>>>>>>>> my Web2py application. I am not comfortable implementing this on my 
>>>>>>>>> own
>>>>>>>>> without some guidance/advice, as I'm worried about the security of the
>>>>>>>>> login information becoming jeopardized.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I am following the guideline for authentication outlined by Google
>>>>>>>>> here: 
>>>>>>>>> https://developers.google.com/**accounts/docs/MobileApps<https://developers.google.com/accounts/docs/MobileApps>
>>>>>>>>>
>>>>>>>>> Another outline of what how I'm trying to accomplish
>>>>>>>>> Authentication outlined here: http://stackoverflow.com/**
>>>>>>>>> questions/7358715/**authentication-model-for-**android-application<http://stackoverflow.com/questions/7358715/authentication-model-for-android-application>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> The first step, and my question, is how I would generate a token
>>>>>>>>> to return to the Android app after the user has successfully logged 
>>>>>>>>> in. It
>>>>>>>>> is suggested that this token be in the same format to what Web2py 
>>>>>>>>> uses for
>>>>>>>>> session login cookies, except with a 'mobile' flag indicating the 
>>>>>>>>> token can
>>>>>>>>> only be used for API calls, and doesn't have the short lifespan of a
>>>>>>>>> browser session.
>>>>>>>>>
>>>>>>>>> Any help would be greatly appreciated, as I haven't read too much
>>>>>>>>> about authentication to web2py from an Android app.
>>>>>>>>>
>>>>>>>>  --
>
>
>
>

-- 



Reply via email to