public static RecaptchaUserContext ToRecaptchaUserContext(this IOpenIdConnectRequest request) { if (request == null) { return(new RecaptchaUserContext()); } var device = request.GetDevice(); return(new RecaptchaUserContext { Username = request.GetUsername(), UserAgent = request.GetUserAgent(), Device = new RecaptchaUserDevice { Id = device?.DeviceId, Name = device?.DeviceName, Token = device?.DeviceToken, Type = device?.DeviceType }, IpAddress = request.GetRemoteIpAddress().ToString(), Tenant = request.GetTenant() }); }