UNPKG

@ivyhjk/amplify-react-oauth

Version:
61 lines 2.61 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var amplify_react_core_auth_1 = require("@ivyhjk/amplify-react-core-auth"); var aws_amplify_1 = require("aws-amplify"); var react_1 = __importDefault(require("react")); var hooks_1 = require("./hooks"); var OAuthContext_1 = require("./OAuthContext"); function OAuthContextProvider(_a) { var children = _a.children; var OAuthContext = OAuthContext_1.getOAuthContext(); var federatedSignIn = hooks_1.useFederatedSignIn()[0]; var signOut = hooks_1.useSignOut()[0]; var _b = react_1.default.useContext(amplify_react_core_auth_1.getCoreAuthContext()), dispatch = _b.dispatch, error = _b.error, loading = _b.loading, user = _b.user; react_1.default.useEffect(function () { var listener = function (_a) { var _b = _a.payload, event = _b.event, data = _b.data; switch (event) { case 'signIn': case 'cognitoHostedUI': aws_amplify_1.Auth.currentAuthenticatedUser() .then(function (user) { return dispatch({ loading: false, user: user }); }) .catch(function (error) { return dispatch({ error: error, loading: false }); }); break; case 'signIn_failure': case 'cognitoHostedUI_failure': dispatch({ error: data, loading: false }); break; } }; aws_amplify_1.Hub.listen('auth', listener); return function () { aws_amplify_1.Hub.remove('auth', listener); }; }, [dispatch]); return (react_1.default.createElement(OAuthContext.Provider, { value: { error: error, loading: loading, federatedSignIn: federatedSignIn, signOut: signOut, user: user } }, children)); } function OAuthProvider(_a) { var children = _a.children; return (react_1.default.createElement(amplify_react_core_auth_1.CoreAuthProvider, null, react_1.default.createElement(OAuthContextProvider, null, children))); } exports.default = OAuthProvider; //# sourceMappingURL=OAuthProvider.js.map