团队负责的系统变多的时候,使用SSO Server提供统一身分验证,让团队只需要维护一份用户资料及一个身分验证服务。除了减少团队维护成本之外,也让使用者不用记忆多个站台的帐号密码,提供更好的使用者体验。
本篇文章,介绍使用MDP.AspNetCore的NuGet套件,所建立的实作OAuth协定SSO Server/Client专案范例。为自己留个纪录,也希望能帮助到有需要的开发人员。
特别说明:
本专案 SSO Server使用Password登入做范例。开发人员可依专案需求,在SSO Server挂载多种身分验证:Facebook、Google、AzureAD、Line...。
验证模组使用说明:https://mdpnetcore.github.io/MDP.AspNetCore/
专案下载:
https://github.com/MDPNetCore/MDP.AspNetCore/tree/main/samples/OAuthSSOSamples
专案执行:
1.使用Visual Studio开启,下载的OAuthSSOSamples.sln
2.于方案总管上的OAuthSSOSamples.sln点击右键选单,设定启动专案。
3.选择「多个启动专案」,将OAuthSSOServer/OAuthSSOClient都设定为启动。
4.回到Visual Studio主画面,按下执行专案,就可以看到Clint端的Login页面。
5.点击Clint端的Login页面「LoginByOAuthSSO」按钮,会发动SSO流程,跳转到Server端的Login页面。
6.Server端的Login页面,点击「LoginByPassword」按钮,会发动Server端的Password登入,并完成SSO流程,跳转到Client的Home页面。
7.Client端的Home页面,可以看到目前登入的用户资料。
程式源码:
https://github.com/MDPNetCore/MDP.AspNetCore