شروع دوره پایتون از پنجشنبه 1 خرداد ، مقدماتی تا پیشرفته، بدون پیش نیاز شروع دوره پایتون از پنجشنبه 1 خرداد ، مقدماتی تا پیشرفته، بدون پیش نیاز
🎯 ثبت نام

احراز هویت بوسیله Xamarin.Auth در Xamarin.Forms

نحوه استفاده از احراز هویت بوسیله Xamarin.Auth در Xamarin.Forms

ما همیشه در اکثر برنامه ها نیاز به احراز هویت داریم. فرآیند احراز هویت کاربر بوسیله سرویس هایی مانند Twitter، Facebook و غیره خیلی سخت به نظر می رسد.

آموزش Xamarin

در اینجا یک متد ساده از احراز هویت را با استفاده از Xamarin.Auth ایجاد می کنم. کامپوننت Xamarin.Auth تا حد زیادی در زمان احراز هویت صرفه جویی می کنند. در اصل کاردینال های احراز هویت برای همین منظور در نظر گرفته شده اند. تائید کنندگان اعتبار رابط کاربری را مدیریت کرده و با سرویس های احراز هویت ارتباط برقرار می کنند. این تائید کنندگان پارامترهای مختلفی را دریافت می کنند. مثل ClientID، دامنه مجوزهایش، URL مجوز، تغییر مسیر URL و غیره که همه ی اینها به تائید کنندگان اعتبار بستگی دارد.

.

var auth = new OAuth2Authenticator  

(  

clientId: "", // your OAuth2 client id  

scope: "", // the scopes for the particular API you're accessing, delimited by "+" symbols  

authorizeUrl: new Uri(""), // the auth URL for the service  

edirectUrl: new Uri("")  

);

می خواهیم به رویداد تکمیل احراز هویت گوش دهیم. این رویداد زمانی فعال می شود که کاربر با موفقیت شناسایی و یا منصرف شود.

auth.Completed += (sender, args) =>   

{  

if(args.IsAuthenticated)  

{  

var account =args.Account;  

// Do success work  

}  

else  

{  

// The user cancelled  

{  

};

  

برای احراز هویت نیاز به برقراری ارتباط از طریق اینترنت می باشد. از آنجا که یک تاخیر زمانی وجود خواهد داشت لذا اگر این تاخیر از مدت زمان معینی فراتر  رفت، رویداد های auth.Completed و auth.Error به صورت غیر همزمان فعال خواهند شد.

تمام اطلاعات در مورد احراز هویت موفقیت آمیز در args.Account وجود دارد. متد GetUI()،UINavigationController مربوطه در iOS و Intent مربوطه در Android را برمیگرداند.

//iOS  

PresentViewController (auth.GetUI (), true, null);  

//Android  

activity.StartActivity(auth.GetUI(activity)); 

Xamarin.Auth داده های مربوط به login کاربر را با امنیت بالایی ذخیره می کند. بنابراین نیازی نیست همیشه برای احراز هویت:

// On iOS:  

AccountStore.Create ().Save (args.Account, "Facebook");  

  

// On Android:  

AccountStore.Create (this).Save (args.Account, "Facebook"); 

AccountStore مسئولیت ثبت و ذخیره تمام اطلاعات اکانت های کاربران را به عهده دارد. این ذخیره سازی در iOS بوسیله KeyChain و در اندروید بوسیله KeyStore انجام می شود. حتی دوباره نویسی (overwrite) آن ها نیز تحت کنترل است.

بوسیله Xamarin.Auth کلیه ی سرویس های احراز هویت فراهم می شود. همچنین می توانیم خودمان با استفاده از متد FormAuthenticator.SignInAsync() تائید اعتبار نام کاربری و رمز عبور را ایجاد کنیم.

1394/10/07 2614 1061
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...