couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Wadholm <rwadh...@maf.org>
Subject Re: looking for couchapp examples for managing user authentification
Date Sun, 23 Oct 2011 14:22:48 GMT
You could use a synchronous AJAX call using jquery on each page (this should be placed before
much of the other js for the page):

$.ajax({
	url: '/_session?callback=',
	dataType: 'json',
	async: false,
	success: function(session){
		User = session.userCtx.name;
	}
});

Bob

On Oct 23, 2011, at 5:08 AM, Alexander Gabriel wrote:

> Great, thank you Benoit.
> 
> Are there examples of entire applications, where I can see how the username
> is fetched after logging in and opening a new html-page?
> 
> Alex
> 
> 
> 
> 2011/10/23 Benoit Chesneau <bchesneau@gmail.com>
> 
>> there are ex of code on github:
>> 
>> https://github.com/couchapp/couchdb-login-jquery
>> https://github.com/couchapp/example
>> 
>> enoit
>> On Sunday, October 23, 2011, Alexander Gabriel <alex@barbalex.ch> wrote:
>>> Hi all
>>> 
>>> This is surely a very basic beginners problem - I am biologist and only
>>> starting to learn programming. It may well be a java script issue and
>> have
>>> nothing to do with couchdb.
>>> 
>>> In my couchapp (
>>> 
>> http://barbalex.iriscouch.com/evab-ch_barbalex_evab/_design/evab/index.html
>>> , https://github.com/barbalex/EvabMobile) every page needs to know the
>> user
>>> name as that is saved in every file. After logging in I get the user name
>>> like this in every page:
>>> 
>>> *User = "";   //use global variable to save user name in*
>>> *$.couch.session({*
>>> * success : function(r) {*
>>> * userCtx = r.userCtx;*
>>> * if (userCtx.name) {*
>>> *                        //save user name in variable*
>>> * User = userCtx.name;*
>>> * } else {*
>>> * //user is not logged in, present the login page*
>>> * window.open(Pfad + "index.html", target="_self");*
>>> * }*
>>> * }*
>>> *});*
>>> 
>>> There probably are several problems here (for example using a global
>>> variable, not using a dedicated function to fetch the username) which is
>>> probably why this is bugging me - the variable "User" doesn't seem to
>> return
>>> the username correctly - sometimes it does, others it doesn't (even
>> though
>>> "GET http://barbalex.iriscouch.com/_session" returns "
>>> 
>> 
>> {"ok":true,"userCtx":{"name":"z","roles":[]},"info":{"authentication_db":"_users","authentication_handlers"
>>> :["oauth","cookie","default"],"authenticated":"cookie"}}"). I have spent
>> a
>>> while now on this problem and come to the point where I need a pointer.
>>> 
>>> I don't expect you experts to teach me java script of course. It would be
>>> great if you could point me to some couchapps I could look into to learn
>> how
>>> this (and other stuff) is done correctly.
>>> 
>>> I looked into AndroidGrocerySync for Android. But it seems to be a native
>>> app programmed in java.
>>> 
>>> Your help is much appreciated!
>>> 
>>> Alex
>>> 
>> 


Mime
View raw message