|
@@ -44,20 +44,31 @@ def login_access_token(
|
|
|
"token_type": "bearer",
|
|
|
}
|
|
|
|
|
|
-@router.post("/login/google/access-token/{access_token}", response_model=schemas.Token)
|
|
|
+@router.post("/login/google/access-token", response_model=schemas.Token)
|
|
|
def login_access_token(
|
|
|
- access_token: str, db: Session = Depends(deps.get_db),
|
|
|
+ db: Session = Depends(deps.get_db), form_data: OAuth2PasswordRequestForm = Depends()
|
|
|
) -> Any:
|
|
|
- CLIENT_ID = "136107811725-n71808u8t465f1afhpe2e5j7mn606nd8.apps.googleusercontent.com"
|
|
|
- idinfo = id_token.verify_oauth2_token(access_token, requests.Request(), CLIENT_ID)
|
|
|
+ """
|
|
|
+ OAuth2 compatible token login, get an access token for future requests
|
|
|
+ """
|
|
|
+ user = crud.user.authenticate(
|
|
|
+ db, email=form_data.username, password=form_data.password
|
|
|
+ )
|
|
|
+ if not user:
|
|
|
+ user_in = schemas.UserCreate(email=form_data.username, password=form_data.password)
|
|
|
+ user = crud.user.create(db, obj_in=user_in)
|
|
|
+ elif not crud.user.is_active(user):
|
|
|
+ raise HTTPException(status_code=400, detail="Inactive user")
|
|
|
+ access_token_expires = timedelta(minutes=settings.ACCESS_TOKEN_EXPIRE_MINUTES)
|
|
|
return {
|
|
|
"access_token": security.create_access_token(
|
|
|
- 0, expires_delta=access_token
|
|
|
+ user.id, expires_delta=access_token_expires
|
|
|
),
|
|
|
"token_type": "bearer",
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
@router.post("/login/test-token", response_model=schemas.User)
|
|
|
def test_token(current_user: models.User = Depends(deps.get_current_user)) -> Any:
|
|
|
"""
|