PDA

View Full Version : اشکال در تولید توکن در web api Core نسخه 2.2



EBRAHIMIEKOKDARAGHI
دوشنبه 18 شهریور 1398, 13:24 عصر
با سلام و خسته نباشید خدمت اساتید محترم
من جهت استفاده از jwt یک web api از نوع asp.net core 2.2 ایجاد کردم و با تنظیماتی که انجام دادم این api با استفاده از صفحه html و کدهای javascript و ajax به درستی کارمیکنه و توکن مورد نظر روتولید میکنه ولی اشکال کار اینجاست که وقتی از xamarin forms برای Authentication استفاده میکنم جواب نمیده خیلی راهها رو امتحان کردم اتصال شبکه رو هم بررسی کردم اشکالی نداره و از امولاتور به وب سایت دسترسی وجود داره
ضمنا من از iis express استفاده میکنم و قبلا با استفاده از asp.net api این مشکل رو نداشتم و به راحتی توکن مربوطه ایجاد میشد . لطفا راهنمایی کنید خیلی ضروریه
کدی که در زامارین استفاده میکنم :

public async Task<string> LoginUserAsync(string username, string password)
{
try
{
HttpClient client = new HttpClient();
List<KeyValuePair<string, string>> keyValue = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>("username",username),
new KeyValuePair<string, string>("password",password),
new KeyValuePair<string, string>("grant_type","password")
};
HttpRequestMessage request = new HttpRequestMessage(
HttpMethod.Post, Variables.path + "api/auth/login")
{
Content = new FormUrlEncodedContent(keyValue)
};
HttpResponseMessage response = await client.SendAsync(request);


string jwt = await response.Content.ReadAsStringAsync();
JObject jwtDynamic = JsonConvert.DeserializeObject<dynamic>(jwt);
string accessToken = jwtDynamic.Value<string>("token");
DateTime accessTokenExpiration = jwtDynamic.Value<DateTime>(".expires");
Settings.AccessTokenexpiartion = accessTokenExpiration;
Debug.WriteLine(jwt);
return accessToken;


}
catch (Exception)
{


return null;
}

baha_ks
سه شنبه 07 آبان 1398, 08:53 صبح
سلام، شما از چه آدرسی استفاده میکنید؟ چون باید از طریق IP و پورتی که باز هست استفاده کنید
یه نگاه به سایت زیر کنید
https://blog.lextudio.com/how-to-let-android-emulator-access-iis-express-f6530a02b1d3

EBRAHIMIEKOKDARAGHI
چهارشنبه 15 آبان 1398, 17:33 عصر
ممنون از وقتی که گذاشتین و پاسخ دادین