WebAPI + Apka mobilna + logowanie/rejestracja FB/Gmail

WebAPI + Apka mobilna + logowanie/rejestracja FB/Gmail
N0
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 6 lat
  • Lokalizacja:Kraków
  • Postów:767
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


Pomogłem? To dobrze :)
edytowany 3x, ostatnio: ne0
fasadin
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
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?

N0
tyle że to jest www, a ja potrzebuje to samo zrobić przez apkę mobilną. spróbuje to jakoś poprzerabiać
fasadin
to nie ma znaczenia. Aplikacja mobilna, to otwarcie strony poprzez aplikacje w wiekszosci wypadkow. https://developer.android.com/guide/webapps/index.html Wiec po prostu tworzysz aplikacje ktora ma viewport na dana strone i tyle
N0
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 6 lat
  • Lokalizacja:Kraków
  • Postów:767
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.


Pomogłem? To dobrze :)
MP
  • Rejestracja:około 8 lat
  • Ostatnio:ponad rok
  • Postów:54
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.

edytowany 1x, ostatnio: Młodszy Programista
N0
patrzyłem, powiedz mi: czy robiłeś kiedyś pełną implementację tego? że tworzysz to całe web API + jakiś front? bo ja sobie z tym nie za bardzo umiem poradzić.
MP
  • Rejestracja:około 8 lat
  • Ostatnio:ponad rok
  • Postów:54
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.

N0
chodzi Ci o te artykuły: https://www.asp.net/identity ? żebym to przerobił czy jak?
MrBean Bean
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad 7 lat
  • Postów:117
0

Musisz zaimplementować IGoogleOAuth2AuthenticationProvider.

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

Prosta sprawa.


▒▒▒▒▒▒▒▒█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
▒▒▒▒▒▒▒█░▒▒▒▒▒▒▒▓▒▒▓▒▒▒▒▒▒▒░█
▒▒▒▒▒▒▒█░▒▒▓▒▒▒▒▒▒▒▒▒▄▄▒▓▒▒░█░▄▄
▒▒▄▀▀▄▄█░▒▒▒▒▒▒▓▒▒▒▒█░░▀▄▄▄▄▄▀░░█
N0
ja potrzebuje miec podstawione web api pomiedzy apka mobilna a facebookiem czy gmailem.
N0
wchodzisz do mojej apki, klikasz "zaloguj z FB" i w tym momencie wyswietlam Ci to co mi FB każe wyświetlić a później sciagam Twoje zdjecie, ustawiam Ci je na profilowe + zapisuje do swojej bazy w backendzie i ogólnie traktuje Cię w moim backendzie (czyli API z którym apka się komunikuje) jako osobę zarejestrowaną.
N0
czy mógłbyś mi proszę rozpisać w punktach jak wygląda cała droga takiego rejestrowania/logowania? 1.User klika "login" -> co dalej?
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)