Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Yii
Code

Yii2 के साथ प्रोग्राम कैसे करें: ट्विटर और Google के साथ ऑथ क्लाइंट एकीकरण

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called How to Program With Yii2.
How to Program With Yii2: Specialized Validations
How to Program With Yii2: Using the Advanced Application Template

Hindi (हिंदी) translation by Afiff Soebarkah (you can also view the original English article)

Final product image
What You'll Be Creating

यदि आप पूछ रहे हैं, "वाईआई क्या है?" मेरे पहले के ट्यूटोरियल को देखें: वाईआई फ्रेमवर्क का परिचय, जो वाईआई के लाभों की समीक्षा करता है और अक्टूबर 2014 में जारी वाईआई 2.0 में नया क्या है इसका एक सिंहावलोकन शामिल है।

वाईआई 2 श्रृंखला के साथ इस प्रोग्रामिंग में, मैं पाठकों को PHP के लिए नए अपग्रेड किए गए वाईआई 2 फ्रेमवर्क के उपयोग में मार्गदर्शन कर रहा हूं। इस ट्यूटोरियल में, मैं ट्विटर, Google और फेसबुक जैसे तृतीय पक्ष नेटवर्क से साइन-इन प्रदान करने के लिए अंतर्निहित एथ क्लाइंट समर्थन के एकीकरण के माध्यम से आपको मार्गदर्शन करूंगा।

इन उदाहरणों के लिए, हम कल्पना हम साधारण स्थिति अद्यतन पोस्टिंग के लिए एक रूपरेखा का निर्माण कर रहे हैं, हमारे अपने मिनी उदाहरण के लिए जारी रखेंगे, हमारे नमस्ते codebase का उपयोग कर । कोड भंडार डाउनलोड करने के लिए इस पृष्ठ पर GitHub लिंक का उपयोग करें ।

Yii2 के साथ प्रोग्रामिंग में: उपयोगकर्ता पंजीकरण को एकीकृत करना, मैं उपयोगकर्ता पंजीकरण और प्रमाणीकरण के लिए Yii2-User लाइब्रेरी के एकीकरण के माध्यम से चला गया। इस ट्यूटोरियल में, हम सीखेंगे कि AuthClient को Yii2-User के साथ कैसे एकीकृत किया जाए और इसके विचारों को ओवरराइड करें।

बस एक अनुस्मारक, मैं नीचे चर्चाओं में भाग लेता हूं। यदि आपके पास कोई प्रश्न या विषय सुझाव है, तो कृपया नीचे एक टिप्पणी पोस्ट करें। आप ट्विटर पर @reifman पर भी पहुंच सकते हैं या मुझे लुकहेड परामर्श पर ईमेल कर सकते हैं।

ऑथ क्लाइंट क्या है?

AuthClient आपके अनुप्रयोगों के लिए ओपनआईडी, ओएथ या ओएथ 2 के साथ तृतीय-पक्ष सेवाओं के माध्यम से प्रमाणित करने के लिए वाईआई का अंतर्निहित समर्थन है।

उदाहरण के लिए, AuthClient नए आगंतुकों के लिए पासवर्ड प्रदान करने के बजाय अपने ट्विटर खाते का उपयोग करके पंजीकरण करने और अपने आवेदन में प्रवेश करने के लिए समर्थन प्रदान करता है।

बॉक्स से बाहर, निम्न क्लाइंट के लिए समर्थन प्रदान किया गया है:

प्रत्येक ग्राहक के लिए विन्यास थोड़ा अलग है। OAuth के लिए उस सेवा से क्लाइंट आईडी और गुप्त कुंजी प्राप्त करने की आवश्यकता है जिसका आप उपयोग करने जा रहे हैं। ओपनआईडी के लिए यह ज्यादातर मामलों में बॉक्स से बाहर काम करता है।

इस ट्यूटोरियल के लिए, मैं तुंहें चहचहाना और Google प्रमाणीकरण जोड़ने के माध्यम से चलना होगा ।

हमारे आवेदन में AuthClient अधिष्ठापन

AuthClient को कंपोज़र में जोड़ें

सबसे पहले, हम संगीतकार को AuthClient पुस्तकालय जोड़ने की जरूरत है. json:

फिर, हम संगीतकार अद्यतन करने की आवश्यकता:

AuthClient समर्थन कॉंफ़िगर करना

हम \config\web.php. में हमारे वेब विंयास फाइल करने के लिए AuthClient विंयास सेटिंग्स जोड़ने की जरूरत है

उन सभी तृतीय-पक्ष सेवाओं के लिए सरणी तत्व जोड़ें, जिनका आप समर्थन करना चाहते है (प्रत्येक के लिए विवरण AuthClient मार्गदर्शिका में पाया जा सकता है) । अभी के लिए, हम ट्विटर के लिए प्लेसहोल्डर कुंजियों का उपयोग करेंगे.

गूगल अतिरिक्त विंयास के बिना बॉक्स से काम करेंगे, लेकिन चहचहाना के लिए, हम एक आवेदन रजिस्टर की जरूरत है ।

हमारे चहचहाना आवेदन रजिस्टर

चहचहाना अनुप्रयोग डैशबोर्ड पर एक नया चहचहाना अनुप्रयोग बनाएं:

Twitter Apps Dashboard

नया ऐप्लिकेशन बनाएं पर क्लिक करें. मैंने पाया कि कॉलबैक यूआरएल अनावश्यक था, लेकिन अब के लिए मैं http://mydomain.com/user/security/auth प्लेसहोल्डर का इस्तेमाल किया ।

Twitter Apps Create an application

यहां हमारे आवेदन के लिए नया पृष्ठ है:

Twitter Apps App Page

यहां सेटिंग्स पृष्ठ है:

Twitter Apps App Settings Page

यहां चाबियां और पहुंच टोकन पृष्ठ है । यहां, हम उपभोक्ता कुंजी (एपीआई कुंजी) और उपभोक्ता गुप्त (एपीआई सीक्रेट) की नकल की जरूरत है:

Twitter Apps App Keys and Access Tokens

हम एक पल में उन चाबियों का उपयोग करेंगे।

गिटहब से कुंजी की सुरक्षा

गिटहब से आपकी कुंजी की सुरक्षा में, मैंने विस्तार से बताया कि मैं अपने गिटहब भंडार के अलावा मेरी सभी चाबियों को स्टोर करने के लिए कॉन्फ़िगरेशन फ़ाइल का उपयोग कैसे करता हूं। फिर, मैं अपनी वाईआई कॉन्फ़िगरेशन फ़ाइलों की शुरुआत में इस फ़ाइल को शामिल करता हूं। यह मुझे अपने भंडार में गलती से मेरी चाबियों की जांच करने और मेरे खातों से समझौता करने से रोकता है।

इसके अलावा, मेलट्रैप के परिचय में: एप्लिकेशन ईमेल के पूर्व-उत्पादन परीक्षण के लिए एक नकली एसएमटीपी सर्वर, मैंने परीक्षण उद्देश्यों के लिए अपने वाईआई स्विफ्टमेलर कॉन्फ़िगरेशन में मेलट्रैप की कस्टम एसएमटीपी सेटिंग्स को एकीकृत करना शुरू किया। यह सुनिश्चित करेगा कि जब हम अपने स्थानीय विकास मंच पर साइन अप करेंगे तो हमें पंजीकरण ईमेल प्राप्त होंगे।

MailTrap SMTP Settings

हम दोनों चहचहाना अनुप्रयोग चाबियां और भंडार के बाहर/var/secure/hello.ini में MailTrap SMTP चाबियां जगह:

यहां \config\web.php में कोड है जो इन सेटिंग्स को शामिल करता है और व्यक्तिगत विंयास चर सेट है:

इसके अलावा नीचे, यहां है हम SwiftMailer के लिए SMTP सेटिंग्स कैसे कॉंफ़िगर करें:

सत्र कुंजियों को संग्रहीत करने के लिए डेटाबेस स्कीमा का अद्यतन करना

हम Yii2-उपयोगकर्ता का उपयोग कर रहे हैं, क्योंकि यह पहले से ही AuthClient कुंजियों को संग्रहीत करने के लिए एक टोकन तालिका प्रदान की गई है ।

हम इस ट्यूटोरियल के अंत में इस तालिका की सामग्री की जांच करेंगे, के बाद हम चहचहाना द्वारा पंजीकृत है ।

उपयोगकर्ता इंटरफ़ेस के लिए AuthClient विजेट जोड़ें

Yii2-प्रयोक्ता लॉगिन पृष्ठ साइन इन पृष्ठ पर AuthClient सेवाओं के लिए अपने कनेक्ट विजेट प्रदर्शित करता है-पृष्ठ के तल पर गूगल और चहचहाना माउस को नोटिस:

AuthClient Widget on Sign In Page

किसी कारण के लिए, हालांकि, वे पंजीकरण साइन-अप पृष्ठ पर शामिल नहीं हैं । यह मेरे लिए एक पर्यवेक्षण की तरह लगता है ।

साइन-अप पृष्ठ को संशोधित करने के लिए, हमें पंजीकरण दृश्य को ओवरराइड करना होगा । सौभाग्य से, Yii और Yii2-उपयोगकर्ता यह आसान बनाने-भी Yii2‑User में विचार की अवहेलना देखें ।

\config\web.php के लिए रिटर्निंग, हम नीचे देखें घटक जोड़ें:

तो फिर हम Yii2 के हमारे अपने संशोधित संस्करण जगह-उपयोगकर्ता के रजिस्टर. php @app/views/user/registration/register.php. में जब पंजीकरण पृष्ठ का अनुरोध किया है, Yii हमारे संस्करण है, जो कनेक्ट विजेट शामिल लोड होगा:

यहां हमारे साइन-अप पृष्ठ अब है:

AuthClient Widget on Our Sign Up Page

सेवाओं के माध्यम से जोड़ने का उपयोगकर्ता अनुभव

यहां क्या साइन-अप प्रक्रिया की तरह दिखता है । जब आप ऊपर चहचहाना आइकन पर क्लिक करें, यह आप अपने कलरव खाते में प्रवेश करने के लिए पूछना होगा:

Twitter OAuth Sign In Page

तो यह आप अपने खाते के साथ आवेदन अधिकृत करने के लिए पूछना होगा:

Twitter OAuth Authorize App

तो यह आप हमारे आवेदन में कनेक्ट पंजीकरण फार्म के लिए ले जाएगा-यह पृष्ठ भी Yii2 द्वारा प्रदान की जाती है-उपयोगकर्ता:

Yii2-User Connect Your Account to Twitter

जब आप समाप्त क्लिक करें, यह टोकन तालिका में अपने OAuth टोकन सम्मिलित करता है और आप अपने आवेदन के साथ पूरी तरह से प्रमाणीकृत होम पेज के लिए पुनर्निर्देश:

Hello App Signed In Via Twitter

यहां टोकन तालिका है, जो प्रत्येक उपयोगकर्ता के लिए सेवा सत्र कुंजी भंडार के अंदर एक तिरछी नज़र है:

The Token Table with codes from Twitter

बाद में प्रवेश के प्रयास में, चहचहाना अतिरिक्त प्राधिकरण की आवश्यकता के बिना आप अनुप्रेषित करेगा ।

हम Yii2-उपयोगकर्ता के साथ Yii2 basic अनुप्रयोग टेंपलेट में तृतीय-पक्ष सेवाओं को कैसे एकीकृत करते हैं । मुझे आशा है कि तुम कैसे सीधा यह है की कृपा कर रहे हैं ।

तुम बाहर हमारी PHP श्रृंखला है, जो तीसरे पक्ष के एकीकरण के साथ Yii2's उंनत टेंपलेट का उपयोग करेंगे (Yii2 से अलग उपयोगकर्ता) के साथ अपने स्टार्टअप इमारत की जांच करना चाहते हो सकता है ।

आगे क्या है?

Yii2 श्रृंखला के साथ मेरी प्रोग्रामिंग में आगामी ट्यूटोरियल के लिए देखो के रूप में मैं ढांचे के विभिंन पहलुओं में गोताखोरी जारी है ।

मैं सुविधा और विषय अनुरोधों का स्वागत करते हैं । तुम उंहें नीचे टिप्पणी में पोस्ट कर सकते है या मुझे मेरे Lookahead परामर्श वेबसाइट पर ईमेल करें ।

यदि आप अगले Yii2 ट्यूटोरियल आता है जब पता करना चाहते हैं, मुझे चहचहाना पर @reifman का पालन करें या अपने प्रशिक्षक पृष्ठ की जांच । मेरे प्रशिक्षक पृष्ठ इस श्रृंखला से सभी लेख के रूप में जल्द ही वे प्रकाशित कर रहे है शामिल होंगे ।

  • Yii 2 के लिए AuthClient विस्तार के लिए गाइड
  • Yii2 OAuth2 पुस्तकालय प्रलेखन
  • Yii2 डेवलपर एक्सचेंज, मेरे Yii2 संसाधन साइट
  • CodeCanyon पर Yii-आधारित स्क्रिप्ट का संग्रह
Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.