Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> API OAUTH2 - kontekst aplikacji, Kontekst aplikacji wspólny dla wszystkich użytkowników?
Pilsener
post
Post #1





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Hej, prośba o Waszą opinię:

Mam serwis A, który korzysta z serwisu B wg standardu OAUTH2, użytkownicy nie są wspólni, w serwisie B ma być tylko jedno konto z którego to mają korzystać użytkownicy serwisu A. Czyli niezależnie na kogo się zalogujesz w serwisie A, zawsze logujesz się na B np. jako admin/admin.
I teraz pytanie, jak rozwiązać problem kontekstu aplikacji (gdzie jest np. access_token, refresh_token etc.) - do tej pory zawsze używałem sesji, jednak w sytuacji gdy jedno konto na A odpowiadało jednemu na B - w sytuacji tylko jednego konta na B nie wydaje mi się to właściwe i chcę po prostu kontekst zapisywać w bazie danych.
Ktoś ma może lepszy pomysł? Może sesja mimo wszystko? Spotkałem się nawet z użyciem ciastek.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Musisz rozwiązać problem przechowywania wielu tokenów w B więc sesja będzie mocno ograniczona. Można ale czy warto? Czyli tak na prawdę w B robić parowanie z kontem A.
Go to the top of the page
+Quote Post
Pilsener
post
Post #3





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


B mnie jakby nie interesuje, bo tam już jest wszystko zaimplementowane (standard OAUTH2), udostępniają A najprostszą metodę autoryzacji (grant type = password), wysyłam credentials, dostaję token i go potem używam.
Problem mam z A, bo nie wiem, czy po zalogowaniu powiedzmy usera Y do A mam pytać B o token, czy lepiej sprawdzić w bazie, czy np. 10 minut wcześniej logował się X i jest ważny token, którego mogę użyć. Rozwiązanie drugie wydaje się lepsze, bo będzie mniej requestów.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Aaa ok. Nie zrozumiałem smile.gif W 1 miejscu zapisz sobie Token + resztę info i po prostu każdemu userowi go udostępniaj. Generalnie obie wersje które powiedziałes sprowadzają się do tego samego: zapisania danych z oAuth w 1 miejscu dla wszystkich. Jak ktoś będzie chciał użyć tych danych a będą expired to wykona request do B i zapisze nowe dane, potem już X i Y będą używały świeżych danych.

Możesz to do Redisa zapisać jak masz albo gdzie kolwiek.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 07:37