fix-confirm
This commit is contained in:
parent
21eb082aa3
commit
99a1d5a867
|
@ -2,7 +2,7 @@ from authlib.integrations.starlette_client import OAuth
|
|||
from starlette.responses import RedirectResponse
|
||||
from auth.identity import Identity
|
||||
from auth.tokenstorage import TokenStorage
|
||||
from settings import OAUTH_CLIENTS, BACKEND_URL, OAUTH_CALLBACK_URL
|
||||
from settings import OAUTH_CLIENTS
|
||||
|
||||
oauth = OAuth()
|
||||
|
||||
|
@ -66,7 +66,7 @@ async def oauth_login(request):
|
|||
provider = request.path_params["provider"]
|
||||
request.session["provider"] = provider
|
||||
client = oauth.create_client(provider)
|
||||
redirect_uri = "%s/%s" % (BACKEND_URL, "oauth_authorize")
|
||||
redirect_uri = "https://newapi.discours.io/oauth-authorize"
|
||||
return await client.authorize_redirect(request, redirect_uri)
|
||||
|
||||
|
||||
|
@ -84,6 +84,6 @@ async def oauth_authorize(request):
|
|||
}
|
||||
user = Identity.oauth(user_input)
|
||||
session_token = await TokenStorage.create_session(user)
|
||||
response = RedirectResponse(url=OAUTH_CALLBACK_URL)
|
||||
response = RedirectResponse(url="https://new.discours.io/confirm")
|
||||
response.set_cookie("token", session_token)
|
||||
return response
|
||||
|
|
6
main.py
6
main.py
|
@ -13,7 +13,7 @@ from auth.authenticate import JWTAuthenticate
|
|||
from auth.oauth import oauth_login, oauth_authorize
|
||||
from base.redis import redis
|
||||
from base.resolvers import resolvers
|
||||
from resolvers.auth import confirm_email_handler
|
||||
# from resolvers.auth import confirm_email_handler
|
||||
from resolvers.zine import ShoutsCache
|
||||
from services.main import storages_init
|
||||
from services.stat.reacted import ReactedStorage
|
||||
|
@ -54,8 +54,8 @@ async def shutdown():
|
|||
|
||||
routes = [
|
||||
Route("/oauth/{provider}", endpoint=oauth_login),
|
||||
Route("/oauth_authorize", endpoint=oauth_authorize),
|
||||
Route("/confirm-email/{token}", endpoint=confirm_email_handler), # should be called on client
|
||||
Route("/oauth-authorize", endpoint=oauth_authorize),
|
||||
# Route("/confirm-email/{token}", endpoint=confirm_email_handler), # should be called on client
|
||||
]
|
||||
|
||||
app = Starlette(
|
||||
|
|
|
@ -3,7 +3,6 @@ from datetime import datetime
|
|||
|
||||
from graphql.type import GraphQLResolveInfo
|
||||
from transliterate import translit
|
||||
from starlette.responses import RedirectResponse
|
||||
|
||||
from auth.tokenstorage import TokenStorage
|
||||
from auth.authenticate import login_required
|
||||
|
@ -19,7 +18,7 @@ from base.orm import local_session
|
|||
from base.resolvers import mutation, query
|
||||
from orm import User, Role
|
||||
from resolvers.profile import get_user_subscriptions
|
||||
from settings import SESSION_TOKEN_HEADER, CONFIRM_CALLBACK_URL
|
||||
from settings import SESSION_TOKEN_HEADER
|
||||
|
||||
|
||||
@mutation.field("refreshSession")
|
||||
|
@ -62,15 +61,6 @@ async def confirm_email(_, _info, confirm_token):
|
|||
return {"error": "email is not confirmed"}
|
||||
|
||||
|
||||
async def confirm_email_handler(request):
|
||||
token = request.path_params["token"] # one time
|
||||
request.session["token"] = token
|
||||
res = await confirm_email(None, token)
|
||||
response = RedirectResponse(url=CONFIRM_CALLBACK_URL)
|
||||
response.set_cookie("token", res["token"]) # session
|
||||
return response
|
||||
|
||||
|
||||
def create_user(user_dict):
|
||||
user = User(**user_dict)
|
||||
user.roles.append(Role.default_role)
|
||||
|
|
Loading…
Reference in New Issue
Block a user