mirror of
https://github.com/ets-cfuhrman-pfe/EvalueTonSavoir.git
synced 2025-08-11 21:23:54 -04:00
populate join-room username if authenticated (temp solution)
This commit is contained in:
parent
80a56e9735
commit
9f0ee05768
4 changed files with 31 additions and 2 deletions
|
|
@ -9,9 +9,11 @@ const OAuthCallback: React.FC = () => {
|
|||
useEffect(() => {
|
||||
const searchParams = new URLSearchParams(location.search);
|
||||
const user = searchParams.get('user');
|
||||
const username = searchParams.get('username');
|
||||
|
||||
if (user) {
|
||||
apiService.saveToken(user);
|
||||
apiService.saveUsername(username || "");
|
||||
navigate('/');
|
||||
} else {
|
||||
navigate('/login');
|
||||
|
|
|
|||
|
|
@ -15,9 +15,11 @@ import LoadingButton from '@mui/lab/LoadingButton';
|
|||
|
||||
import LoginContainer from '../../../components/LoginContainer/LoginContainer'
|
||||
|
||||
import ApiService from '../../../services/ApiService'
|
||||
|
||||
const JoinRoom: React.FC = () => {
|
||||
const [roomName, setRoomName] = useState('');
|
||||
const [username, setUsername] = useState('');
|
||||
const [username, setUsername] = useState(ApiService.getUsername());
|
||||
const [socket, setSocket] = useState<Socket | null>(null);
|
||||
const [isWaitingForTeacher, setIsWaitingForTeacher] = useState(false);
|
||||
const [question, setQuestion] = useState<QuestionType>();
|
||||
|
|
|
|||
|
|
@ -105,6 +105,30 @@ class ApiService {
|
|||
}
|
||||
}
|
||||
|
||||
public saveUsername(username: string): void {
|
||||
if (!username || username.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const object = {
|
||||
username: username
|
||||
}
|
||||
|
||||
localStorage.setItem("username", JSON.stringify(object));
|
||||
}
|
||||
|
||||
public getUsername(): string {
|
||||
const objectStr = localStorage.getItem("username");
|
||||
|
||||
if (!objectStr) {
|
||||
return "";
|
||||
}
|
||||
|
||||
const object = JSON.parse(objectStr)
|
||||
|
||||
return object.username;
|
||||
}
|
||||
|
||||
// Route to know if rooms need authentication to join
|
||||
public async getRoomsRequireAuth(): Promise<any> {
|
||||
const url: string = this.constructRequestUrl(`/auth/getRoomsRequireAuth`);
|
||||
|
|
@ -117,6 +141,7 @@ class ApiService {
|
|||
}
|
||||
|
||||
public logout(): void {
|
||||
localStorage.removeItem("username");
|
||||
return localStorage.removeItem("jwt");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ class AuthManager{
|
|||
|
||||
async login(userInfo,req,res,next){
|
||||
const tokenToSave = jwt.create(userInfo.email, userInfo._id,userInfo.roles);
|
||||
res.redirect(`/auth/callback?user=${tokenToSave}`);
|
||||
res.redirect(`/auth/callback?user=${tokenToSave}&username=${userInfo.name}`);
|
||||
console.info(`L'utilisateur '${userInfo.name}' vient de se connecter`)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue