onDeviceLogin should handle open throwing to stop it from blocking login from unexpected errors
onDeviceLogin should handle open throwing to stop it from blocking login from unexpected errors