I'm new to Microsoft.AspNet.Identity. I have a url-token:
In my database there is user information but no password.
I want that: when I send this url-token to someone, and when they click on it will come to my page, the system will automatically get the token from the url, authenticate it with the user in the database.
If valid then Automatically login to my system, otherwise go to the login page.
I think it will need to configure something at startup.auth or IdentityConfig, but I do not know how it is. Please guide me because I'm new to Identity.
Actually what you are suggesting is to login using a url. You use a token that never changes nor expires. It isn't secure. Anyone who knows the url can access the resource as long as the user exists. So basically you are bypassing the purpose of AspNet Identity: to identify the user.
You certainly do not want to sign in users based on just this url and risking to expose more than you may want.
If you look at the Register flow, you'll see that you can send an email verification code. But you'll also see that the ConfirmEmail method has the attribute 'AllowAnonymous' and that the user isn't logged in afterwards. It is just to verify the email.
You'll need to identify the user first, before you authorize the user. You can use credentials (local login) or you can use an external id provider like Google or Facebook.
You can also implement something where you send a code (one time password) to the email after the link was clicked, so the user has to enter this code before signing in.
But if you just want to show one page, which doesn't contain sensitive information (just a personal message), then you do not need to sign in the user. You can create your TitleNew method (add the 'AllowAnonymous' attribute), examine the code in the url (like in ConfirmEmail) and show the page with the personal message, based on the userid from the url.