مشخصات مقاله
-
1984
-
0.0
-
3478
-
0
-
0
آموزش Login به آپلیکیشن با استفاده از FaceBook
آموزش پیاده سازی قابلیت هویت سنجی برای ورود کاربر به اپلیکیشن با facebook login و دسترسی به مقدار پارامتر query string
در این آموزش با استفاده از پکیج facebook ناگت در اپلیکیشن C# خود و دسترسی به مقدار پارامتر/متغیر querystring، قابلیت هویت سنجی (authorization) کاربر برای ورود به سایت (از طریق صفحه ی ورود و login سایت facebook) را پیاده سازی می کنیم.
- ابتدا لازم است پکیج "facebook" در nuget را داخل پروژه ی C# خود نصب نمایید.
- در گام دوم بایستی اپلیکیشن Facebook خود را با مراجعه به آدرس https://developers.facebook.com/ ایجاد کرده، سپس appId و appSecret را در اپلیکیشن مربوطه ذخیره نمایید.
-
حال کد زیر را جهت پیاده سازی قابلیت هویت سنجی (authorization) facebook اجرا کرده و متد "FacebookLogin" را در action event فراخوانی کنید.
//fig-1 [HttpPost] public string FacebookLogin() { try { // Instantiate the Facebook client var oauth = new FacebookClient(); var fbLoginUrl = oauth.GetLoginUrl(new { client_id = "Enter ApplicationID", client_secret = "Enter ApplicationSecret", redirect_uri = "Enter RedirectUri", response_type = "code", scope = "manage_pages,email" // Add other permissions as needed }); var fbloginUri = fbLoginUrl.AbsoluteUri; Session["ClientId"] = "Enter ApplicationID", return fbloginUri; } catch (Exception) { return null; } } // This is just a sample script. Paste your real code (javascript or HTML) here. if ('this_is' == /an_example/) { of_beautifier(); } else { var a = b ? (c % d) : e[f]; } - در زیر url لازم برای دسترسی به صفحه ی ورود/facebook login را مشاهده می کند.
https://www.facebook.com/login.php?skip_api_login=?&api_key=?&signed_next=?&next=?&cancel_url=?&display=?&locale=?&logger_id=? - پس از هویت سنجی کاربر از طریق صفحه ی login سایت Facebook، شما url زیر را با [code] پارامتر querystrings دریافت می کنید:
http://localhost:url?code=?
- لازم است مقدار پارامتر یا متغیر Querystring را در فضای session ذخیره کرده و تابع زیر را در event page_load فراخوانی نمایید.
//fig-2 public void GetQueryStringValue() { string _code = string.Empty; if (!string.IsNullOrEmpty(System.Web.HttpContext.Current.Request.UrlReferrer.Query)) { List < string > collection = GetQueryStringCollection(System.Web.HttpContext.Current.Request.UrlReferrer.Query, 0); if (collection != null && collection.Count > 0) { _code = System.Web.HttpContext.Current.Server.UrlDecode(collection[0]); Session["code"] = _code; } } } // Get Querystring name value collection public List < string > GetQueryStringCollection(string url, int count) { string keyValue = string.Empty; List < string > collection = new List < string > (); string[] querystrings = url.Split('&'); if (querystrings != null && querystrings.Count() > count) { for (int i = 0; i < querystrings.Count(); i++) { string[] pair = querystrings[i].Split('='); collection.Add(pair[1]); } } return collection; }