نحوه ذخیره token ارسالی از api

محمد شانه

عضویت : 1397/02/31 پرسش ها : 9 پاسخ ها : 12

نحوه ذخیره token ارسالی از api

ارسال شده در : ‫۴ ماه قبل، سه شنبه ۱۸ تیر ۱۳۹۸، ساعت ۰۸:۵۹

با سلام و خسته نباشید 

بعد از اینکه برای لاگین شدن به api،  توکن را برایمان ارسال میکنه بهترین حالت برای ذخیره اش کجاست ؟ و اینکه بعد برای  ارسال هر درخواست، توکن را باید چطور ارسال کرد؟

و یه سوال دیگه اینکه با توجه به اینکه هاست های اشتراکی حدود 30 دقیقه میتوان لاگین بود میشه با ذخیره سازی user و pass  میتوان چک کرد توکن زمانی که تاریخ انقضاش گذشت به طور اتوماتیک لاگین بشه و توکن جدید بگیره؟ یعنی دیگه دوباره کاربر را نفرستیم به صفحه login ... 

ایمان مدائنی

عضویت : 1396/09/10 پرسش ها : 5 پاسخ ها : 7986
ارسال شده در :‫۴ ماه قبل، سه شنبه ۱۸ تیر ۱۳۹۸، ساعت ۱۱:۰۲

سلام 

هر جا که بخواهید 

میتونید در sqlite ذخیره کنید یا در فایل

خیر 30 دقیقه نیست میتونید افزایش دهید 

0 تشکر

محمد شانه

عضویت : 1397/02/31 پرسش ها : 9 پاسخ ها : 12
ارسال شده در :‫۴ ماه قبل، پنج شنبه ۲۰ تیر ۱۳۹۸، ساعت ۱۳:۰۹

خوب برای  ارسال هر درخواست، توکن را باید چطور ارسال کرد؟

من به صورت زیر ارسال کردم

 client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Setting.Token);
            var categoryRaw = await client.GetStringAsync("category/"+id);

قسمت لاگین  api هم مانند نمونه کد آموزش web api خودتان گذاشتم .. داره توکن را برمیگردونه..

     var signinCredentials = new SigningCredentials(secretKey, SecurityAlgorithms.HmacSha256);

                    var tokenOption = new JwtSecurityToken(
                        issuer: "https://locallhost:5646/",
                        claims: new List<Claim>
                        {
                            new Claim(ClaimTypes.NameIdentifier,user.UserId.ToString()),
                            new Claim(ClaimTypes.Name,user.UserName)
                        },
                        expires: DateTime.Now.AddMinutes(30),
                        signingCredentials: signinCredentials
                    );

                    var tokenString = new JwtSecurityTokenHandler().WriteToken(tokenOption);
                    return Ok(new { token = tokenString });

ولی داخل کنترل category که [Authorize]  را داخلش اضافه کردم و درخواست با زامارین میزنم  یه html داره برمیگردونه که چک کردم صفحه لاگین من بود... یعنی میفرستم به صفحه لاگین برنامه ام.. 

0 تشکر

ایمان مدائنی

عضویت : 1396/09/10 پرسش ها : 5 پاسخ ها : 7986
ارسال شده در :‫۴ ماه قبل، پنج شنبه ۲۰ تیر ۱۳۹۸، ساعت ۱۴:۰۰

در درخواست ها به api باید در head قرار دهید 

 

0 تشکر

محمد شانه

عضویت : 1397/02/31 پرسش ها : 9 پاسخ ها : 12
ارسال شده در :‫۴ ماه قبل، پنج شنبه ۲۰ تیر ۱۳۹۸، ساعت ۱۴:۰۲

مگه اینطوری نیست ؟

 client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Setting.Token);

 

0 تشکر

ایمان مدائنی

عضویت : 1396/09/10 پرسش ها : 5 پاسخ ها : 7986
ارسال شده در :‫۴ ماه قبل، پنج شنبه ۲۰ تیر ۱۳۹۸، ساعت ۱۴:۰۳

اگر اشتباه نکنم درسته

0 تشکر

برای ارسال پاسخ باید وارد شوید و یا در سایت عضو شوید