incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Marca <jma...@translab.its.uci.edu>
Subject Re: jcouchdb anyone?
Date Wed, 28 Apr 2010 20:00:08 GMT
Perhaps try passing the "authority" key when setting the AuthScope?

Example:

my /etc/couchdb/local.ini has:

...
[httpd]
; Uncomment next line to trigger basic-auth popup on unauthorized requests.
WWW-Authenticate = Basic realm="administrator"
...


My code in a test case looks as follows:


    ...
    private static final String TESTDB_AUTHORITY = "administrator";
    ...

    @Before
    public void setUp() throws Exception {
        // load couchdb properties
        props.load(getClass().getClassLoader().getResource(DB_PROPERTIES).openStream());

	...

        dbname =props.getProperty("couchdb.db.dbname",TESTDB_NAME);
        user =props.getProperty("couchdb.db.user");
        pass =props.getProperty("couchdb.db.password");
        authority =props.getProperty("couchdb.db.authority",TESTDB_AUTHORITY);

	...
}



then later, I create dbs as follows...note the authority in AuthScope new call

    public static Database createDatabaseForTest()
    {
        // Load couchdb properties
        Server server = new ServerImpl(host,port);
        if(user != null && pass !=null) {
            AuthScope as = new AuthScope(host, port, authority);
            Credentials c = new UsernamePasswordCredentials(user, pass);
            server.setCredentials(as,c);
        }

        List<String> databases = server.listDatabases();

        log.debug("databases = " + databases);

	...

    }

Hope that helps,
James



On Wed, Apr 28, 2010 at 10:33:31AM -0700, Bharat wrote:
> I am trying to use jcouchdb api for authenticating against my couchdb
> instance(0.11). I have set the admin usr/pass in futon and in addition
> specified ADMIN and READER on the DB I am trying to access so only people
> with correct credentials can access/view the DB.
> 
> My code is pretty simple and directly using ServerImpl and its
> setCredentials and get method:
> 
> -------------------------
> ServerImpl service = new ServerImpl("localhost");
>         Credentials credentials =
>                 new UsernamePasswordCredentials(<usr>, <pass>);
>         AuthScope authScope = new AuthScope("http://localhost", 5984);
> 
>         service.setCredentials(authScope, credentials);
> 
>         Response res = service.get(/<database>);
> -----------------------------
> 
> But everytime I do this, I keep getting http 401 in my response. Is there
> something I am missing or not setting correctly?
> 
> I know its not exactly a couchdb question but there is very little to no
> documentation available so thought I ll try here.
> 
> Thanks!

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.


Mime
View raw message