I'm looking at ways to incorporate social logins to log in with accounts like Google/Facebook/Twitter, etc. into an authentication system that integrates web applications created on several different platforms. I'd like to hear your constructive feedback on whether the plan I'm currently considering is reasonable.
1. The explanation for target system.
I am responsible for the program maintenance and ongoing refurbishment of the authentication system for a website system with one million members.
This website consists of more than 10 different applications with several different developping platforms. The core of the authentication system that integrates these applications was created in ASP.NET 4.0, and the basic part of the authentication is done using form authentication, not ASP.NET Identity.
Ninety percent of the members of this site are created based on the membership information provided by the companies that use the site's services, and 10 percent of the members are created by registering themselves as members.
2.Proposition
As I mentioned first, I'm planning to incorporate social login into the website's authentication system, which allows users to log in with their Google/Facebook/Twitter accounts. For existing members, after entering the website after authentication, they will be able to set up social login from a dedicated page.
3.Question
I would like to ask you all if I have the right idea for building this system. My plan is as follows.
- Create a web service to link website members with any social networking accounts, and call them from the member master management page on the web application side.
- Create this Web service in ASP.NET Core and use Identity, copy the "\Identity\Identity\Manage\ExternalLogin.cshtml" created by Scafolding to a new page, accept the Post instruction, and Customize the methods that are executed when you use. (The name of the method is 'OnPostLinkLoginAsync' and 'OnGetLinkLoginCallbackAsync').
About using ASP.NET Core Identity
advantage
- Since all the troublesome OAuth communication will be black boxed out, I can expect the coding will be minimal.
- Even if the specification of OAuth on the SNS side changes in the future, it is expected that Identity will be upgraded to cope with the change and we don't need to modify our own program.
Drawbacks.
- The web service side of this web service will still have Identity features that you don't actually use, so they need to be kept secret from regular members.
4.Finally
I'm sure there are many examples of medium and larger web systems that embed social login functionality into existing authentication. I would be very happy to receive better methods and advice from those who have experienced this kind of development.
I have changed the place for this argument to the following thread inf ASP.NET Forum.
https://forums.asp.net/t/2170679.aspx?How+to+plug+in+social+login+with+Google+Facebook+and+other+accounts+into+your+existing+authentication+system+made+asp+net+4+0
Please check above for the following arguments.
Thank you.