diff --git a/backend/moonstream/routes/users.py b/backend/moonstream/routes/users.py index 276fcbb1..3cbb95ce 100644 --- a/backend/moonstream/routes/users.py +++ b/backend/moonstream/routes/users.py @@ -56,8 +56,8 @@ whitelist_paths.update( { "/users": "POST", "/users/token": "POST", - "/users/password/restore": "POST", - "/users/password/reset": "POST", + "/users/password/reset_initiate": "POST", + "/users/password/reset_complete": "POST", } ) app.add_middleware(BroodAuthMiddleware, whitelist=whitelist_paths) @@ -87,11 +87,10 @@ async def get_user_handler(request: Request) -> BugoutUser: return user -@app.post("/password/restore", tags=["users"], response_model=Dict[str, Any]) -async def restore_password_handler(request: Request) -> Dict[str, Any]: - user = request.state.user +@app.post("/password/reset_initiate", tags=["users"], response_model=Dict[str, Any]) +async def restore_password_handler(email: str = Form(...)) -> Dict[str, Any]: try: - response = bc.restore_password(email=user.email) + response = bc.restore_password(email=email) except BugoutResponseException as e: raise HTTPException(status_code=e.status_code, detail=e.detail) except Exception as e: @@ -99,7 +98,7 @@ async def restore_password_handler(request: Request) -> Dict[str, Any]: return response -@app.post("/password/reset", tags=["users"], response_model=BugoutUser) +@app.post("/password/reset_complete", tags=["users"], response_model=BugoutUser) async def reset_password_handler( reset_id: str = Form(...), new_password: str = Form(...) ) -> BugoutUser: diff --git a/frontend/sample.env b/frontend/sample.env index e295fc84..d2031fd0 100644 --- a/frontend/sample.env +++ b/frontend/sample.env @@ -1,9 +1,3 @@ -export NEXT_PUBLIC_SIMIOTICS_SEARCH_URL=http://localhost:5000 export NEXT_PUBLIC_MIXPANEL_TOKEN="" -export NEXT_PUBLIC_SIMIOTICS_AUTH_URL=http://localhost:7474 -export NEXT_PUBLIC_SIMIOTICS_JOURNALS_URL=http://localhost:7475 -export NEXT_PUBLIC_BUGOUT_CONTACTUS_TOKEN="" -export NEXT_PUBLIC_BUGOUT_CONTACTUS_JOURNAL_ID="" export NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY="" -export NEXT_PUBLIC_MOONSTREAM_API_URL=http://localhost:7481 - +export NEXT_PUBLIC_MOONSTREAM_API_URL=http://localhost:7481 \ No newline at end of file diff --git a/frontend/src/core/hooks/useLogin.js b/frontend/src/core/hooks/useLogin.js index cbb6a8ca..f9ca27a6 100644 --- a/frontend/src/core/hooks/useLogin.js +++ b/frontend/src/core/hooks/useLogin.js @@ -28,7 +28,7 @@ const useLogin = (loginType) => { if (!data) { return; } - localStorage.setItem("BUGOUT_ACCESS_TOKEN", data.data.access_token); + localStorage.setItem("MOONSTREAM_ACCESS_TOKEN", data.data.access_token); const invite_code = window.sessionStorage.getItem("invite_code"); if (invite_code) { inviteAccept(invite_code); diff --git a/frontend/src/core/hooks/useLogout.js b/frontend/src/core/hooks/useLogout.js index a8c7cec9..e883b10a 100644 --- a/frontend/src/core/hooks/useLogout.js +++ b/frontend/src/core/hooks/useLogout.js @@ -34,7 +34,7 @@ const useLogout = () => { return; } - localStorage.removeItem("BUGOUT_ACCESS_TOKEN"); + localStorage.removeItem("MOONSTREAM_ACCESS_TOKEN"); cache.clear(); }, [data, cache]); diff --git a/frontend/src/core/hooks/useSignUp.js b/frontend/src/core/hooks/useSignUp.js index f1212268..56e38dba 100644 --- a/frontend/src/core/hooks/useSignUp.js +++ b/frontend/src/core/hooks/useSignUp.js @@ -18,7 +18,7 @@ const useSignUp = (source) => { isSuccess } = useMutation(AuthService.register(), { onSuccess: (response) => { - localStorage.setItem("BUGOUT_ACCESS_TOKEN", response.data.access_token); + localStorage.setItem("MOONSTREAM_ACCESS_TOKEN", response.data.access_token); const invite_code = window.sessionStorage.getItem("invite_code"); if (invite_code) { inviteAccept(invite_code); diff --git a/frontend/src/core/providers/UserProvider/index.js b/frontend/src/core/providers/UserProvider/index.js index 84836d11..edd5bdc4 100644 --- a/frontend/src/core/providers/UserProvider/index.js +++ b/frontend/src/core/providers/UserProvider/index.js @@ -8,7 +8,7 @@ const UserProvider = ({ children }) => { const [isInit, setInit] = useState(false); const getUser = useCallback(() => { - const token = localStorage.getItem("BUGOUT_ACCESS_TOKEN"); + const token = localStorage.getItem("MOONSTREAM_ACCESS_TOKEN"); if (!token) { setInit(true); return setUser(null); diff --git a/frontend/src/core/services/auth.service.js b/frontend/src/core/services/auth.service.js index a29778fc..e5b9c257 100644 --- a/frontend/src/core/services/auth.service.js +++ b/frontend/src/core/services/auth.service.js @@ -1,9 +1,9 @@ import { http } from "../utils"; -const AUTH_URL = process.env.NEXT_PUBLIC_SIMIOTICS_AUTH_URL; +const API_URL = process.env.NEXT_PUBLIC_MOONSTREAM_API_URL; +const AUTH_URL = `${API_URL}/users`; export const login = ({ username, password }) => { - console.log('login',username, password) const data = new FormData(); data.append("username", username); data.append("password", password); @@ -17,66 +17,38 @@ export const login = ({ username, password }) => { export const revoke = () => { return http({ - method: "POST", - url: `${AUTH_URL}/revoke/${localStorage.getItem("BUGOUT_ACCESS_TOKEN")}`, - }); -}; - -export const register = () => ({ username, email, password }) => { - const data = new FormData(); - data.append("username", username); - data.append("email", email); - data.append("password", password); - - return http({ - method: "POST", - url: `${AUTH_URL}/user`, - data, - }).then(() => - http({ - method: "POST", - url: `${AUTH_URL}/token`, - data, - }) - ); -}; - -export const verify = ({ code }) => { - const data = new FormData(); - data.append("verification_code", code); - return http({ - method: "POST", - url: `${AUTH_URL}/confirm`, - data, - }); -}; - -export const getTokenList = () => { - const data = new FormData(); - return http({ - method: "GET", - url: `${AUTH_URL}/tokens`, - data, - }); -}; - -export const updateToken = ({ note, token }) => { - const data = new FormData(); - data.append("token_note", note); - data.append("access_token", token); - return http({ - method: "PUT", + method: "DELETE", url: `${AUTH_URL}/token`, - data, }); }; +export const register = + () => + ({ username, email, password }) => { + const data = new FormData(); + data.append("username", username); + data.append("email", email); + data.append("password", password); + + return http({ + method: "POST", + url: `${AUTH_URL}/`, + data, + }).then(() => + http({ + method: "POST", + url: `${AUTH_URL}/token`, + data, + }) + ); + }; + export const forgotPassword = ({ email }) => { const data = new FormData(); data.append("email", email); return http({ method: "POST", - url: `${AUTH_URL}/reset`, + url: `${AUTH_URL}/password/reset_initiate`, data, }); }; @@ -87,18 +59,11 @@ export const resetPassword = ({ newPassword, resetId }) => { data.append("new_password", newPassword); return http({ method: "POST", - url: `${AUTH_URL}/password/reset`, + url: `${AUTH_URL}/password/reset_complete`, data, }); }; -export const revokeToken = (token) => { - return http({ - method: "POST", - url: `${AUTH_URL}/revoke/${token}`, - }); -}; - export const changePassword = ({ currentPassword, newPassword }) => { const data = new FormData(); data.append("current_password", currentPassword); diff --git a/frontend/src/core/services/search.service.js b/frontend/src/core/services/search.service.js index a967a2bf..a1e23b03 100644 --- a/frontend/src/core/services/search.service.js +++ b/frontend/src/core/services/search.service.js @@ -22,9 +22,9 @@ export const getResultsByEndpoint = async (query, endpoint, clientID) => { // myself, I would have to implement the logic to handle multiple origins (since the // Access-Control-Allow-Origins only takes one origin). // At that point, uncomment the following: - // const token = localStorage.getItem('BUGOUT_ACCESS_TOKEN') + // const token = localStorage.getItem('MOONSTREAM_ACCESS_TOKEN') // if (token) { - // headers.Authorization = `Bearer ${localStorage.getItem('BUGOUT_ACCESS_TOKEN')}` + // headers.Authorization = `Bearer ${localStorage.getItem('MOONSTREAM_ACCESS_TOKEN')}` // } const response = await fetch(requestURL, { method, headers }); diff --git a/frontend/src/core/utils/http.js b/frontend/src/core/utils/http.js index ce2cc85b..aa5c68f0 100644 --- a/frontend/src/core/utils/http.js +++ b/frontend/src/core/utils/http.js @@ -4,7 +4,7 @@ let axios = require("axios"); enableMockupRequests(axios); const http = (config) => { - const token = localStorage.getItem("BUGOUT_ACCESS_TOKEN"); + const token = localStorage.getItem("MOONSTREAM_ACCESS_TOKEN"); const authorization = token ? { Authorization: `Bearer ${token}` } : {}; const defaultHeaders = config.headers ?? {}; const options = {