W aplikacji ASP.NET MVC mamy możliwość rejestracji kont użytkowników, jednak co w przypadku gdy chcielibyśmy dać użytkownikom możliwość logowania kontami zewnętrznymi, takimi jak google, facebook, itp? Aby umożliwić logowanie kontami zewnętrznymi, musimy przede wszystkim zajrzeć do pliku Startup.Auth.cs i w metodzie ConfigureAuth odkomentować odpowiednie linie kodu.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() //{ // ClientId = "", // ClientSecret = "" //}); |
Jak widać możemy użyć kont Microsoft, Twitter, Facebook oraz Google. W tym poście skupimy się na logowaniu za pomocą konta Google. Tak więc musimy odkomentować ostatnią opcję:
1 2 3 4 5 |
app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() { ClientId = "", ClientSecret = "" }); |
Niezbędne będzie podanie ClientId i ClientSecret, aby je uzyskać udajemy się pod adres: https://console.developers.google.com i tworzymy nowy projekt. Następnie przechodzimy do zakładki Credentials i wybieramy Create creadentials określając nazwę naszej aplikacji, rodzaj, itd. Należy wpisać także odpowiednie redirect Url. Authorized JavaScript origins: http://localhost:portNumber oraz Authorized redirect URls: http://localhost:portNumber/signin-google . Zamiast localhost:portNumber podajemy adres naszej aplikacji. Jeżeli uruchamiamy ją na localhoście to adres powinien tak właśnie wyglądać, tylko trzeba wpisać odpowiedni port z jakiego korzysta aplikacja. Oprócz tego musimy jeszcze aktywować Google+ API, w tym celu przechodzimy do naszego projektu i z głównego ekranu wszystkich dostępnych API wybieramy Google+ API i klikamy enable. Po przeklikaniu się przez kilka kroków dostaniemy wygenerowane klucze ClientId i ClientSecret, które należy skopiować do powyższej metody. Po uruchomieniu aplikacji naszym oczom ukaże się dodatkowa opcja logowania.
I w ten oto sposób użytkownicy będą mogli logować się do naszej aplikacji kontami google.