There's a bunch of ways to handle identity without using metamask or any chrome extention, but you'll always be in a sort of "not so decentralized" way, because you'll end up having to build an external database.
You can connect with some idendity provider to handle it for you, I think is the easyest way to do what you want.
I know some providers, if you'd like to give a look at them:
- Uport - https://www.uport.me/
uPort returns ownership of identity to the individual. uPort's open identity system allows users to register their own identity on Ethereum, send and request credentials, sign transactions, and securely manage keys & data. Take a look at what we’re building:
- Civic - https://www.civic.com/ Civic’s Secure Identity Platform (SIP) uses a verified identity for multi-factor authentication on web and mobile apps without the need for usernames or passwords.
- OriginalMy - https://originalmy.com/
Log in to websites without worrying about passwords and never fill out forms again. Use your Blockchain ID to perform various actions on the internet safely, without worrying about fraud.