पर कार्रवाई प्रेषण मैं अपने रिएक्ट/रेडक्स ऐप में नया Auth0 लॉक 10 लागू करना चाहता हूं।Auth0 के lock.on ('प्रमाणीकृत') ईवेंट
मैंने इंटरनेट पर जांच की है, लेकिन मेरे प्रश्न से मेल नहीं खाता है। एक ट्यूटोरियल here है, लेकिन यह रीडायरेक्ट (डिफ़ॉल्ट अब) मोड के बजाय पॉपअप मोड का उपयोग करता है। एक और one प्रवाह का यूआरएल, जो ताला से 10
यहाँ में बेकार है पार्स करता है:
- Auth0Lock instantiated हो जाता है प्रवेश बटन पर उपयोगकर्ता क्लिक करता है, यह पता चलता जब जब मेरे एप्लिकेशन
- शुरू होता है लॉक विजेट (
lock.show()
) और LOGIN_REQUEST डिस्पैच - ताला auth0.com पर अपने प्रमाणीकरण करता है (मेरे स्थानीय होस्ट से बाहर रीडायरेक्ट)
- पुनर्निर्देशन वापस सफल प्रवेश के बाद मेरे स्थानीय होस्ट करने के लिए, Auth0Lock instantia मिल जब मैं प्रवेश बटन, redux लकड़हारा शो पर क्लिक करें अब
import Auth0Lock from 'auth0-lock' export const LOGIN_REQUEST = 'LOGIN_REQUEST' export const LOGIN_SUCCESS = 'LOGIN_SUCCESS' export const LOGIN_ERROR = 'LOGIN_ERROR' function loginRequest() { return { type: LOGIN_REQUEST } } function loginSuccess(profile) { return { type: LOGIN_SUCCESS, profile } } function loginError(error) { return { type: LOGIN_ERROR, error } } // import AuthService to deal with all the actions related to auth const lock = new Auth0Lock('secret', 'secret', { auth: { redirectUrl: 'http://localhost:3000/callback', responseType: 'token' } }) lock.on('authenticated', authResult => { console.log('Im authenticated') return dispatch => { return dispatch(loginSuccess({})) } }) lock.on('authorization_error', error => { return dispatch => dispatch(loginError(error)) }) export function login() { lock.show() return dispatch => {return dispatch(loginRequest())} }
: टेड फिर
- मैं यहाँ एक
lock.on('authenticated')
घटना के लिए इंतजार LOGIN_SUCCESS प्रेषण करने के लिए
और अपने कार्यों/index.js कोड है मुझे LOGIN_REQUEST एक्शन भेजा गया, मैं लॉक विजेट देखता हूं, मैं लॉगिन कर सकता हूं, यह auth0.com पर रीडायरेक्ट करता है और फिर मेरे localhost:3000/callback
पर एक सुंदर टोकन के साथ रीडायरेक्ट करता है। सब ठीक है, मैं अपने कंसोल में Im authenticated
संदेश देखता हूं, लेकिन रेडक्स लॉगर मुझे नहीं दिखाता है कि LOGIN_SUCCESS कार्रवाई भेज दी गई है।
मैं रेडक्स के लिए नया हूं, और मुझे लगता है कि मुझे एक चीज़ याद आ रही है, लेकिन मैं इसे पकड़ नहीं सकता। धन्यवाद!
ठीक है।लेकिन मेरे मामले में, मैंने कार्यों को एक अलग action.js फ़ाइल के अंदर रखा है, और यदि मैं सही ढंग से समझता हूं, तो उस फ़ाइल से स्टोर का आविष्कार एक विरोधी पैटर्न है। उस स्थिति में, क्या मुझे action.js के अंदर 'या कॉन्स्ट लॉक = नया Auth0Lock (...)' या ऐप घटक जैसे घटक में प्रारंभ करना चाहिए? – amaurymartiny
यही वह जगह है जहां प्रतिक्रिया ज्ञान की कमी मुझे किसी भी राय की आवाज नहीं देगी। –
मैंने अंत में इसे action.js में किया, कोड के लिए यहां देखें: https://github.com/amaurymartiny/react-redux-auth0-kit/blob/master/src/actions/auth.js – amaurymartiny