How to populate user related data in IdentityServer4 on email confirmation - .net-core

I have created a project scaffolded by Visual Studio 2019 using Angular and MVC Rest API using C# and .NET Core with Entity Framework.
I selected to use IdentityServer4 to register and confirm user emails. With this you also get password reset functionality, a login screen etc... I have configured SendGrid to send emails and have also hooked into Facebook as a authentication provider.
I wish to create user specific data after a user confirms their account on clicking the confirm link that was emailed to them. The user specific data is in the form of other tables and needs to be populated on confirmation.
I am at the point thinking that I have to write the code I have gotten for free (IdentityServer4) to get what I want done.
My question is how do I hook into the confirmation of the email\user to populate the tables with the users individual data? Is there an event\hook or interface that I should be providing.

Related

Azure Mobile Services authentication client flow hook

I'm using .NET backend on Azure Mobile Service. It's easy to set up authentication with social identity provider, so that the client can use e.g. Facebook iOS SDK to login, as illustrated in the official tutorial
In custom authentication, as I need to maintain my own Account table according to the official tutorial, I have full control over the registration & login.
I'd like to have a centralized User table to store information about all users, no matter which channel they used to authenticate.
My question is, is there a way for the .NET backend to be notified when a user register or login with a Facebook token? So that a new row can be added to the centralized User table even when the user is using Facebook to authenticate?
Thank you!
Yes - the User.GetIdentities() method contains the token and mechanism that was used to authenticate the user. You can use this to update your table. For an overview of how to use this token, see this blog post by the team: https://azure.microsoft.com/en-us/blog/custom-login-scopes-single-sign-on-new-asp-net-web-api-updates-to-the-azure-mobile-services-net-backend/

ASP.NET user registration data

I have created an ASP.NET MVC 5 application, which uses MongoDB as a database. The application allows users to register and log in as standard. I want to know how I can reset this, i.e. remove all user names. Which directory is all this registration data stored? Am I right in thinking that the user registration / authentication system has nothing to do with the MongoDB database? Thanks :)

asp.net oauth build in facebook authentication

how to finish off logging in with facebook account (and keep those details in membership db). I was reading around that one needs to get user's email, of course adding any email or name in txt box will not validate ... however it is possible to add it as another service after user logged in with any other method like google or so...
so how do i change the code to get user's email pulled from fb whilst using built in oauth model in .net 4.5

How to - Facebook Connect with existing user table

I have a registration-login system on my own website yet I want to add Facebook Connect too. I have some required parts of my user table as:
Username
Password
Email
The first thing that came to my mind is, setting userId as username, userId#facebook.com as email and setting the password to null and check if a record exists with these details in my user table. If not insert a new user with these details, if exists return that user details.
Is this a good design? How should I connect facebook connect to my website?
Thank you
I would suggest you to take this into a more deep ASP.NET, and start an MVC project
then use the Microsoft Facebook API SDK to play around with the API, it's very easy and because they are using the new dynamic type, now that Facebook changed the Open Graph, it will continue to work great as well.
in your login page, add a facebook login button and ask for permissions, for example:
<fb:login-button perms="email" size="medium">
redirect-uri="http://yourdomain.com/FBLogin/"
Subscribe using Facebook</fb:login-button>
in your FBLogin controller, login the user using the FB credentials, if the user uses your normal form, use the normal login
If you create a custom MemberShip Provider, you can easily use that for both accesses... I write a simple start to a custom Membership provider here

After facebook login how to get User Information using javascript SDK in asp.net application

I have to implement facebook login and also want to get logged in user's information like birthday, firstname, Email address.
I have already done some other stuff like recent activities etc of facebook using javascript SDK of facebook.
i am developing application in ASP.Net (C#).
How can i get user information, Please provide me any idea.
Once the user's logged in and you asked for extended permissions (you can use Javascript to do that) you get an access token and then you can call the Facebook graph API. This is server side.
FB do not offer a C# SDK for their API so you will have to find one (or make you own)
see http://developers.facebook.com/docs/api

Resources