Passing values from HTML to python using EVE rest framework

202 views Asked by At

I am creating a website using html as a frontend and python as a backend using EVE framework. I have enabled token authentication for my usersRESTful Account Management. But when I pass the values to the EVE framework it gives me a 401.

var login = function (loginData) {
    var deferred = $q.defer();
    $http.post(appConfig.serviceUrl + 'user',{data:loginData})

here the loginData holds the username and password of my user from the html page this piece of code is inside a .js file.

My api.py holds the following authentication code.

class RolesAuth(TokenAuth):
def check_auth(self, token,  allowed_roles, resource, method):
    # use Eve's own db driver; no additional connections/resources are used
    accounts = app.data.driver.db['user']
    lookup = {'token': token}
    if allowed_roles:
        lookup['roles'] = {'$in': allowed_roles}
    account = accounts.find_one(lookup)
    return account

def add_token(documents):
# Don't use this in production:
# You should at least make sure that the token is unique.
for document in documents:
    document["token"] = (''.join(random.choice(string.ascii_uppercase)
                                  for x in range(10)))

My problem is as soon as the api.py is run it asks to provide proper credentials. How can i send the token directly to the auth mechanism so that it lets me access the db.

How will you suggest me to get rid of the authentication alert box.

I want the token to be automatically sent to the api.

If suppose I use basic authentication how can I send the username and password values directly and validate it? Without having the browser pop-up box asking for username and password

Thanks in advance.

1

There are 1 answers

0
Mandar Vaze On

Does it work with curl ? Refer to this question

Also, refer to this and this thread on the mailing list.