Skip to content

kennard-owen/ThridPartyLogin-AspNetCore

 
 

Repository files navigation

ThridPartyLogin-AspNetCore

Build Status

NuGet downloads (ThridPartyLogin-AspNetCore)

NuGet downloads ThridPartyLogin-AspNetCore

新手练习项目,算是入门.NetCore的小菜鸟,重在学习技术,非常感谢@Seven大佬,学习到了不少知识

Usage

第一步:在Startup.cs配置

  //先注入HttpContextAccessor
 services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
 
            services.AddWeChatLogin(p =>
            {
                p.ClientId = "";
                p.ClientSecret = "";
            });
            services.AddQqLogin(p =>
            {
                p.ClientId = "";
                p.ClientSecret = "";
            });
            services.AddSinaLogin(p =>
            {
                p.ClientId = "";
                p.ClientSecret = "";
            });
            services.AddFackbookLogin(p =>
            {
                p.ClientId = "";
                p.ClientSecret = "";
            });
             services.AddGitHubLogin(p =>
            {
                p.ClientId = "";
                p.ClientSecret = "";
            });

第二步:添加Controllers/OAuthController.cs(controller名字根据你自己的业务场景取名,看你心情取名 哈哈哈)

public class OAuthController : Controller
    {
         private readonly IFacebookLogin _facebookLogin;
        private readonly IQqLogin _qqLogin;
        private readonly ISinaLogin _sinaLogin;
        private readonly IWeChatLogin _weChatLogin;
        private readonly IGitHubLogin _gitHubLogin;
        public OAuthController(IWeChatLogin weChatLogin, IQqLogin qqLogin, ISinaLogin sinaLogin,
            IFacebookLogin facebookLogin, IGitHubLogin gitHubLogin)
        {
            _weChatLogin = weChatLogin;
            _qqLogin = qqLogin;
            _sinaLogin = sinaLogin;
            _facebookLogin = facebookLogin;
            _gitHubLogin = gitHubLogin;
        }

         public IActionResult QQ()
        {
            var res = _qqLogin.Authorize();
            if (res != null && res?.Code == Code.Success)
            {
                //成功逻辑
            }

            return View();
        }

        public IActionResult Facebook()
        {
            var res = _facebookLogin.Authorize();
            if (res != null && res?.Code == Code.Success)
            {
                //成功逻辑
            }
            return View();
        }

        public IActionResult WeChat()
        {
            var res = _weChatLogin.Authorize();
            if (res != null && res?.Code == Code.Success)
            {
                //成功逻辑
            }
            return View();
        }

        public IActionResult WeiBo()
        {
            var res = _sinaLogin.Authorize();
            if (res != null && res?.Code == Code.Success)
            {
                //成功逻辑
            }
            return View();
        }

        public IActionResult GitHub()
        {
            var res = _gitHubLogin.Authorize();
            if (res!=null&&res?.Code==Code.Success)
            {
                //成功逻辑
              
            }           
            return View();
        }
    }

第三步:添加5个空页面,页面里不要有代码,防止方法异常时抛出

1,Views/OAuth/QQ.cshtml

2,Views/OAuth/Facebook.cshtml

3,Views/OAuth/Wechat.cshtml

4,Views/OAuth/Webo.cshtml

5,Views/OAuth/GitHub.cshtml

回调地址的填写:

例如GitHub:我们是在OAuth/Github方法中调用,那么填写回调地址就是:http://www.xxx.com/OAuth/Github

About

第三方PC登陆QQ,WeChat,Sina,FackBook,GitHub

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%