2016-04-02 8 views
7

मैंने चारों ओर खोज करने की कोशिश की है लेकिन मुझे अपने प्रश्न का उत्तर नहीं मिल रहा है।स्विफ्ट और आईओएस का उपयोग कर फेसबुक प्रमाणीकरण का उपयोग कर उपयोगकर्ता को लॉगआउट कैसे करें?

मैं GitHub से इस आवेदन के साथ चारों ओर खेल रहा हूँ: https://github.com/Yalantis/Koloda/tree/master/Example

मैं इसे उपयोग कर रहा हूँ क्योंकि मैं एक परियोजना है जो इस आवेदन से टाइल आधारित स्वाइप का उपयोग करेगा कर रहा हूँ।

मैं भी फायरबेस का उपयोग कर रहा हूं। अब तक, मैं अपने डेटाबेस में उपयोगकर्ताओं को जोड़ सकता हूं, इसलिए ऐप और फायरबेस जुड़े हुए हैं।

मैं भी चाहता हूं कि उपयोगकर्ता फेसबुक का उपयोग करके पंजीकरण/लॉगिन करें।

मैंने अपने ऐप को फेसबुक से जोड़ा है और कोई उपयोगकर्ता फेसबुक प्रमाणीकरण का उपयोग करके लॉगिन कर सकता है और सफलतापूर्वक लॉगिन कर सकता है।

समस्या जो मैं कर रहा हूं वह लॉग आउट हो रहा है।

जब मैं लॉगआउट बटन पर क्लिक करता हूं, तो मैं चाहता हूं कि उपयोगकर्ता पूरी तरह से लॉग आउट हो। तो एक लॉगआउट विधि है जो फेसबुक एसडीके के साथ आता है जिसे लॉगआउट कहा जाता है। यहां मेरे कोड के प्रासंगिक भाग हैं।

http://imgur.com/owi3zZn

मैं उपयोगकर्ता अधिकृत रहने के लिए नहीं करना चाहते हैं के बाद वे प्रस्थान करें बटन पर क्लिक किया है:

import FBSDKLoginKit 
@IBAction func handleLogout(sender: AnyObject) { 

    facebookLogin.logOut() 
    print("loggedout") 
    } 

तो जब मैं लॉग आउट करने पर क्लिक करें और फिर लॉगिन पर क्लिक करें फिर से मैं इस पेज को मिलता है । मैं इसे कैसे बना सकता हूं ताकि जब मैं लॉगआउट बटन पर क्लिक करता हूं, तो उपयोगकर्ता पूरी तरह से फेसबुक से लॉग आउट हो जाता है और फिर जब वे लॉगिन बटन पर क्लिक करते हैं तो उन्हें अपना उपयोगकर्ता नाम/पासवर्ड दोबारा दर्ज करना होगा?

मैंने वेबज़ के चारों ओर देखने की कोशिश की है लेकिन मेरी समस्या का समाधान नहीं मिल रहा है, हालांकि मुझे यकीन है कि यह कुछ आसान है, मुझे उम्मीद है!

आपकी मदद के लिए धन्यवाद और क्षमा करें यदि स्वरूपण खराब है।

उत्तर

4

जब आप लॉगऑट को कॉल करते हैं, तो उपयोगकर्ता आपके ऐप से लॉग आउट होता है। जहां तक ​​उन्हें फेसबुक से लॉग आउट करना है, मुझे नहीं लगता कि आप ऐसा कर सकते हैं, न ही फेसबुक इसे अनुमति देगा। पहली बार जब उपयोगकर्ता फेसबुक के माध्यम से आपको ऐप अधिकृत करता है, तो फेसबुक आपके ऐप को उन ऐप्स की सूची में जोड़ता है जिनके साथ वे अधिकृत हैं (वे फेसबुक पेज के माध्यम से उस पृष्ठ तक पहुंच सकते हैं)। जब वे लॉग आउट करते हैं और फिर से लॉग इन करते हैं, तो वे उस पृष्ठ को देखेंगे जिस पर आपने एक तस्वीर पोस्ट की है क्योंकि उन्होंने इसे पहले ही अधिकृत कर दिया है। उनके लिए पुनः प्राधिकृत करने का एकमात्र तरीका यह है कि ऐप को अपने फेसबुक ऐप पेज से हटाएं और फिर अपने ऐप में लॉग इन करें।

+0

अरे एक बहुत बेकार है कि क्योंकि मैं अलग फेसबुक खातों के साथ में लॉग इन करने को देखने के लिए मेरी डेटाबेस हो जाता है, तो चाहते हैं सही ढंग से अपडेट किया गया। क्या आप इसके बारे में वैसे भी जानते होंगे? धन्यवाद! – Joe

+1

ओह, मैं देखता हूं कि आपका क्या मतलब है। अगर आप सफारी ऐप में जाते हैं, तो आप फेसबुक.com पर जा सकते हैं और अपने खाते का लॉगआउट कर सकते हैं, किसी दूसरे खाते में लॉगिन कर सकते हैं और अपने ऐप में वापस जा सकते हैं। जब आप फेसबुक लॉगिन कहते हैं तो सफारी एक्सटेंशन पॉप अप करता है जो लॉग इन करने वाले नए उपयोगकर्ता को दिखाना चाहिए! –

+0

जीनियस। धन्यवाद, यह पूरी तरह से काम करता है! अगर मेरे पास पर्याप्त प्रतिनिधि था तो आप मेरा उपरांत प्राप्त करेंगे! – Joe

0

उपयोगकर्ता दान एल सही जवाब है, one of my comments में उन्होंने लिखा है:

ओह, मैं देख रहा हूँ तुम क्या मतलब है। अगर आप सफारी ऐप में जाते हैं, तो आप फेसबुक.com पर जा सकते हैं और अपने खाते का लॉगआउट कर सकते हैं, किसी दूसरे खाते में लॉगिन कर सकते हैं और अपने ऐप में वापस जा सकते हैं। जब आप फेसबुक लॉगिन कहते हैं तो सफारी एक्सटेंशन पॉप अप करता है जो लॉग इन करने वाले नए उपयोगकर्ता को दिखाना चाहिए!

यह वही है जो मुझे चाहिए। धन्यवाद दान एल।

+0

यदि सामग्री आपकी नहीं है, तो यह एक समुदाय विकी के उत्तर को बदलने के लिए प्रथागत है। –

12

आप उपयोगकर्ता एप्लिकेशन को स्वयं से लॉग आउट करने के लिए, तो प्रोग्राम के रूप में आप निम्नलिखित कोड

let loginView : FBSDKLoginManager = FBSDKLoginManager() 
loginView.loginBehavior = FBSDKLoginBehavior.Web 

यह आपके ऐप में फेसबुक लॉगइन पॉप अप खुलेगा जांच कर सकते हैं, जिसमें उपयोगकर्ता ने आपके ऐप

में प्रवेश कर सकते हैं

और लॉगआउट के लिए, आप

let manager = FBSDKLoginManager() 
manager.logOut() 

कॉल कर सकते हैं यह बाहर, अनुप्रयोग में फेसबुक से उपयोगकर्ता प्रवेश करेंगे इस के बाद अगर आप एसडीके का प्रवेश विधि फोन आप एल देखेंगे ogin पॉपअप फिर

आप प्रोफाइल स्पष्ट और टोकन भी लॉगआउट साथ नीचे कोड फोन

FBSDKAccessToken.setCurrentAccessToken(nil) 
FBSDKProfile.setCurrentProfile(nil) 
+0

याद रखें कि 'FBSDKLoginBehavior.Web' कुछ प्रकार के एप्लिकेशन तक ही सीमित है। फेसबुक प्लेटफ़ॉर्म नीति के अनुसार, सभी प्रकार की ऐप इस सुविधा का उपयोग नहीं कर सकती है। यदि आप उनके मानदंडों का समर्थन करते हैं और फिर केवल इस ध्वज का उपयोग करते हैं तो नीति की जांच करें। –

+0

धन्यवाद आप वास्तव में मेरा दिन बचाते हैं :) –

2
अपनी टिप्पणी से

मैं आप क्या चाहते हैं देख सकते हैं करना चाहते हैं।

आप बस अपने सिम्युलेटर की सामग्री और सेटिंग्स को रीसेट कर सकते हैं:

क्लिक सिम्युलेटर/सामग्री रीसेट करें और सेटिंग्स

+1

मुझे आपके जैसा ही समस्या थी, और यह ठीक है :) –

संबंधित मुद्दे

 संबंधित मुद्दे