Skip to content

Basic auth accepts wrong password as a correct one! #11759

@rugved-bodke-stigya

Description

@rugved-bodke-stigya

Privileged issue

  • I'm @tiangolo or he asked me directly to create an issue here.

Issue Content

from fastapi import Depends, FastAPI, HTTPException
from fastapi.security import HTTPBasic, HTTPBasicCredentials
from starlette.status import HTTP_401_UNAUTHORIZED

app = FastAPI()

security = HTTPBasic()


def get_current_username(credentials: HTTPBasicCredentials = Depends(security)):
    if credentials.username != "foo" or credentials.password != "password":
        raise HTTPException(
            status_code=HTTP_401_UNAUTHORIZED,
            detail="Incorrect email or password",
            headers={"WWW-Authenticate": "Basic"},
        )
    return credentials.username


@app.get("/users/me")
def read_current_user(username: str = Depends(get_current_username)):
    return {"username": username}


import uvicorn

uvicorn.run(app, host="0.0.0.0", port=8000)

Hi I'm struggling to place a basic auth, and using the latest fastapi version but still the app is working with any random string

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions