python-2.7flaskbasic-authenticationwww-authenticate

How to return 401 authentication from flask API?


I have developed an API in flask which is using HttpBasicAuth to authenticate users. API is working absolutely fine in fiddler and returning 401 when we pass wrong credential but when I am using the same on login page I am getting extra pop up from browser. I really don't want to see this extra pop-up which is asking for credential (default behaviour of browser when returning

401

with

WWW-Authenticate: Basic realm="Authentication Required"

).

It is working fine when deployed locally but not working when hosted on remote server.

How can we implement 401 which will not let browser to display popup asking for credentials.


Solution

  • This is a common problem when working with REST APIs and browser clients. Unfortunately there is no clean way to prevent the browser from displaying the popup. But there are tricks that you can do: