2

有谁知道一个示例应用程序,该示例应用程序展示了从 WPF 等桌面应用程序使用 ThinkTecture IdentityServer v2 的最佳实践?

使用 HttpClient 调用 AccountController 的登录操作是首选方式吗?

我正在尝试做这样的事情,但我得到的响应是 Web 应用程序将被重定向到以登录的 HTML 页面。

    private async Task LoginRequest(string username, string password)
    {
        HttpClient client = new HttpClient();
        client.DefaultRequestHeaders.Add("accept", "application/json");
        client.BaseAddress = new Uri(@"https://<server-name>/Idsrv-sample/");
        var loginData = new SignInModel { UserName = username, Password = password, IsSigninRequest = true };            
        var signinResponse = await client.PutAsJsonAsync("account/signin", loginData);
        var result = await signinResponse.Content.ReadAsStringAsync();
        MessageBox.Show(result);  // The IdentityServer login page
    }
4

1 回答 1

2

不确定“最佳实践”是什么意思 - 但 IdentityServer 支持 OAuth2 为您的后端获取授权令牌:

http://leastprivilege.com/2012/11/01/oauth2-in-thinktecture-identityserver-v2-resource-owner-password-flow/

另见此处: https ://github.com/thinktecture/Thinktecture.IdentityServer.v2/wiki

于 2013-03-04T10:18:12.673 回答