bigbluebutton-Github/bigbluebutton-html5/imports/ui/components/authenticated-handler/presence-adapter/component.tsx

44 lines
983 B
TypeScript
Raw Normal View History

import React, { useEffect } from 'react';
import useAuthData from '/imports/ui/core/local-states/useAuthData';
import Auth from '/imports/ui/services/auth';
import { Session } from 'meteor/session';
interface PresenceAdapterProps {
children: React.ReactNode;
}
const PresenceAdapter: React.FC<PresenceAdapterProps> = ({ children }) => {
const [authData] = useAuthData();
const [authSetted, setAuthSetted] = React.useState(false);
useEffect(() => {
const {
authToken,
logoutUrl,
meetingId,
sessionToken,
userId,
userName,
extId,
meetingName,
} = authData;
Auth.clearCredentials();
Auth.set(
meetingId,
userId,
authToken,
logoutUrl,
sessionToken,
userName,
extId,
meetingName,
);
Auth.loggedIn = true;
Session.set('userWillAuth', false);
setAuthSetted(true);
}, []);
return authSetted ? children : null;
};
export default PresenceAdapter;