2015-12-17 5 views
9

मैं चाहता हूं कि उपयोगकर्ता मोबाइल ऐप (एंड्रॉइड और आईओएस) और/या वेबसाइट (एएसपीनेट एमवीसी के साथ निर्मित) के माध्यम से फेसबुक/google के साथ लॉग इन कर सकें। ...मोबाइल/वेब डेटा स्टोर पर रजिस्टर/लॉगिन के साथ फेसबुक और Google

मोबाइल ऐप और वेबसाइट पर प्रमाणीकरण कार्य करने के लिए मेरा डेटाबेस स्टोर करना क्या चाहिए? उपयोगकर्ता आईडी, गूगल/फेसबुक टोकन?

मुझे यकीन है कि उपयोगकर्ता की जानकारी को सहेजने के बारे में कैसे जाना है। क्या मुझे इसे ओविन के साथ जोड़ना चाहिए? मैं एएसपीनेट पहचान के बारे में ज्यादा नहीं जानता लेकिन मैंने देखा है कि यह तीसरे पक्ष के प्रदाताओं के साथ काफी सीधे आगे है .... सवाल यह है कि अगर मैं पहली बार मोबाइल ऐप से लॉगिन करता हूं तो क्या मुझे प्रोग्राम में नए उपयोगकर्ता को प्रोग्राम में जोड़ना चाहिए?

अब तक मुझे लगता है कि यह सबसे अच्छा लिंक की तरह लगता है: http://bitoftech.net/2014/07/16/enable-oauth-refresh-tokens-angularjs-app-using-asp-net-web-api-2-owin/

लेकिन मैं थेरेस एक सरल तरीका उम्मीद कर रहा हूँ।

इम हो रही गूगल/FB टोकन और उन्हें सर्वर उपयोगकर्ताओं की आईडी प्राप्त करने के लिए भेजने से ...

क्या मैं यहाँ क्या करने की जरूरत है, ताकि अगर गूगल/FB उपयोगकर्ता के लॉग इन के माध्यम से करते हैं वेब, वे एक ही उपयोगकर्ता के रूप में पहचाना जाएगा।

ऐसा लगता है कि एमएस ने वेब के लिए सामाजिक लॉगिन सेट अप करने के लिए एएसपी.Net पहचान का उपयोग करना इतना आसान बना दिया है, लेकिन इस बात को नजरअंदाज कर दिया है कि एसक्यूएल सर्वर डीबी का उपयोग करने के लिए मोबाइल के साथ इसका उपयोग कैसे किया जा सकता है उपयोगकर्ता/सदस्यता विवरण ...

बस एक

+0

मोबाइल के लिए आपको अपने आवेदन में वेब एपीआई लगाने की आवश्यकता है। –

उत्तर

2

इस कड़ी के रूप में मोबाइल और वेब के लिए उपयोगकर्ताओं को प्रबंधित करने का सबसे अच्छा तरीका बाहर काम करने की कोशिश कर सब कुछ का वर्णन करता है आप के लिए http://www.asp.net/mvc/overview/security/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on

देख रहे हैं आप में डेटाबेस में संग्रहीत करने के लिए है क्या यह जांचने के लिए कि क्या उपयोगकर्ता आपके डेटाबेस में पहले से मौजूद है या नहीं, आपको प्राप्त प्रतिक्रिया से प्राप्त नहीं किया जा सकता है फेसबुक या Google उपयोगकर्ताओं को प्रमाण-पत्र सत्यापित करने के बाद, फेसबुक & Google को प्रतिक्रिया में उपयोगकर्ताओं का विवरण देना होगा। ईमेल आईडी, जन्मतिथि इत्यादि की तरह, आप इन विवरणों को अपने डेटाबेस में सहेज सकते हैं और प्रत्येक लॉगिन पर यह जांच सकते हैं कि उपयोगकर्ता पहले से मौजूद है या नहीं और तदनुसार पंजीकरण करें।

विवरण है कि जवाब में आता है एक और पोस्ट में उल्लेख किया है WebApi ASP.NET Identity Facebook login

public class FacebookLoginModel 
{ 
    public string token { get; set; } 
    public string username { get; set; } 
    public string userid { get; set; } 
} 

public class FacebookUserViewModel 
{ 
    public string id { get; set; } 
    public string first_name { get; set; } 
    public string last_name { get; set; } 
    public string username { get; set; } 
    public string email { get; set; } 
} 
1

यह इन के लिए Google साइन अपेक्षाकृत सीधा है। आप अपने स्थानीय डेटाबेस है कि गूगल के लिए रिटर्न में अद्वितीय ID स्टोर करने के लिए के लिए सबसे आसान तरीका है प्रत्येक खाता जिसे आप इसके साथ प्रमाणित करते हैं।

साइन-इन इरादे सफल होने के बाद आप GetSignInAccount विधि को कॉल कर सकते हैं।

Auth.GoogleSignInApi.getSignInResultFromIntent(data); 
GoogleSignInAccount acct = result.getSignInAccount(); 
String personName = acct.getDisplayName(); 
String personEmail = acct.getEmail(); 
**String personId = acct.getId();** 
Uri personPhoto = acct.getPhotoUrl(); 

और क्या व्यक्ति फोन या मोबाइल से साइन इन करता है, तो आप जानते हैं कि यह वही व्यक्ति है। https://developers.google.com/identity/sign-in/android/people

किसी भी मामले में, आपको हर बार कोई नया लॉग इन करने के लिए प्रोग्राम को अपने डेटाबेस में प्रोग्रामेटिक रूप से स्टोर करना होगा। इसलिए आपको उन्हें ओवरटाइम प्रमाणित करने के लिए अपने व्यक्तिगत आईडी को एक अतिरिक्त फ़ील्ड के रूप में स्टोर करना होगा।

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