WebAPI + Apka mobilna + logowanie/rejestracja FB/Gmail

0

Cześć,

moim zadaniem jest stworzenie w aplikacji mobilnej możliwości założenia konta przy użyciu facebook-a, gmail-a bądź "domowego" formularza. Do tego oczywiście mamy jakiś backend - jest to nic innego jak WebAPI C#.

Nie rozumiem, po prostu ku... nie potrafię tego zrozumieć jak to ma działać :( siedzę nad tym już ze 2-3 dni i nic, oglądam jakieś filmy na YT, czytam kursy i zero. Nie wchodzi mi to.

Czy może mi ktoś to proszę wytłumaczyć bo za głupi jestem... :/

  1. W apce mobilnej, user klika np. na "login with facebook".
  2. wyświetla się mu dodatkowe okno (pewnie jakiś webView)
    i co dalej?

Z tego co rozumiem to z API mam otrzymać token tak? I co z nim mam zrobić? Może w ogóle błądzę.

Powinien używać OAuth czy OAuth2?
wiem że mam jakiś token wygenerować, chce żeby user był zapamiętany w mojej aplikacji (zarówno tej mobilnej jak i API ). Chciałbym pobrać z FB jego zdjęcie i od razu je umieścić w jego profilu. Pomóżcie bo płaczę i nie umiem :(

Tutaj jeszcze pytania by się pojawiły w związku z konfiguracją apki na stronie facebook-a, bo też jest kilka problemów z tym.

Nie widzę większych różnic w kodzie jeśli porówna do tego: https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/external-authentication-services

0

https://docs.microsoft.com/en-us/aspnet/mvc/overview/security/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on

tu jest krok po kroku wyjasnione ze screenami przykladami i gotowym kodem. Probowales tego?

0

Hej,

zrobiłem to i działa ale to nie jest webAPI tylko mvc z którego bezpośrednio łączę się do google/fb. Ja chce zrobić to tak że z aplikacji mobilnej łączę się do WebAPI i potem do gmail/fb - pewno przy użyciu jakiego tokena itd.

0

Patrzyłeś na to? http://bitoftech.net/2014/08/11/asp-net-web-api-2-external-logins-social-logins-facebook-google-angularjs-app/
W prawdzie jest tam podejście z AngularJS, ale generalnie jaki z tym problem? Klient od frontu nie ma znaczenia, ważny jest request jaki trzeba wysłać do backendu.

0

Owszem robiłem, na początek na spokojnie proponuję Ci przysiąść do samego ASP.NET Identity - naucz się z tego korzystać. Stwórz sobie pusty projekt w WebAPI bez autentykacji i zaimplementuj Identity od podstaw, używając ewentualnie Fiddlera. Jak sobie porobisz wszystkie potrzebne end pointy to wtedy bierz się za front.

0

Musisz zaimplementować IGoogleOAuth2AuthenticationProvider.

Potem podpiąć to do **GoogleOAuth2AuthenticationOptions ** jako Provaider

Prosta sprawa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1