Смотрите в сторону использования API KEY. Каждому розданному API KEY позволяете создать/привязать одного пользователя. Программа у пользователя спрашивает имя и пароль, дергает сервер для регистрации/привязки, хоть простым post-ом, хоть специальный api запилите.
Дальнейшая судьба API KEY - на ваше усмотрение. Например, его можно использовать в процедуре восстановления пароля, как дополнительный токен авторизации.