第8章 动态客户端注册 - IdentityModel 中文文档(v1.0.0)
OpenID Connect动态客户端注册的客户端库是作为HttpClient
扩展方法提供的。
以下代码发送注册请求:
var client = new HttpClient();
var response = await client.RegisterClientAsync(new DynamicClientRegistrationRequest
{
Address = Endpoint,
RegistrationRequest = new RegistrationRequest
{
RedirectUris = { redirectUri },
ApplicationType = "native"
}
});
注意
RegistrationRequest类已经强类型用于所有标准登记参数性质如由规范定义。如果要添加自定义参数,建议从此类派生并添加自己的属性。
响应属于RegistrationResponse
类型并具有标准响应参数的属性。您还可以访问原始响应以及解析的JSON文档(通过Raw
和Json
属性)。
在使用响应之前,您应该始终检查IsError
属性以确保请求成功:
if (response.IsError) throw new Exception(response.Error);
var clientId = response.ClientId;
var secret = resopnse.ClientSecret;