I am building web application and have an idea to build custom authentication system, which would be quick and secure.
I do not want to use almost "default" login (email) / password combination.
I want to generate for all the users random unique cryptographically secure string key (say 70 random characters) when they sign up.
There would be only one input field to sign in, where user will have to input this key to restore his session again.
The only thing I am concerned about is its security.
What are the problems I have to cope with, using this method of authentication?
The only problem, I suspect for now is brute force. But as far as I understand, if I take any library for generating, say email recovery password tokens, the possibility of brute force will be small. Moreover from math (correct me please if I'm wrong) the chance to brute two fields of 20 characters length (like login and password) is same as one field 40 char length (my key) if they have same set of characters.
EDIT 1: I added that fact, that key should be not only random, but unique also, to make it possible to use as an ID. however I am wondering if hash, using, in ex. Bcrypt would be also unique. Is it possible to achieve that? Will the hash be unique if the key is unique? Is the risk of collision high?