Asp.net Web Api身份验证和密码加密

时间:2017-07-27 09:11:11

标签: asp.net xamarin asp.net-web-api

我对web api工作进行了身份验证,但是使用电子邮件和密码进行验证,如何更改以便web api使用用户名字段和密码进行身份验证? 另外,我怎样才能更改密码的加密方法?

Autentication是这样做的:

public async Task<string> LoginAsync(string username, string password)
{
    try
    {
        var keyValues = new List<KeyValuePair<string, string>>
        {
            new KeyValuePair<string, string>("username", username),
            new KeyValuePair<string, string>("password", password),
            new KeyValuePair<string, string>("grant_type", "password")
        };

        Settings.Serverdown = false;

        var request = new HttpRequestMessage(HttpMethod.Post, "http://192.168.44.22:56479/Token");
        request.Content = new FormUrlEncodedContent(keyValues);

        var client = new HttpClient();

        client.Timeout = TimeSpan.FromMilliseconds(6000);
        var response = await client.SendAsync(request);
        var jwt = await response.Content.ReadAsStringAsync();

        Settings.LoginSucess = response.IsSuccessStatusCode;
        Settings.Username = username;

        JObject jwtDynamic = JsonConvert.DeserializeObject<dynamic>(jwt);

        var accessToken = jwtDynamic.Value<string>("access_token");
        Settings.AccessToken = accessToken;
    }
    catch (Exception e)
    {
        XFToast.LongMessage("Cant reach the server");
        Settings.Serverdown = true;
    }

    var accessToken2=Settings.AccessToken;

    return accessToken2; 
}

由于

0 个答案:

没有答案