Guild icon
Dziennikowy Serwer
CMENTARZ / bridge
https://github.com/wulkanowy/bridge
Avatar
@Dominik Korsa opowiadaj
Avatar
Dominik Korsa 12.01.2021 13:36
Dobra
13:37
Jak już sdk-node będzie w używalne
13:37
To mam zamiar zrobić stronę
13:37
Która byłaby używalnym API do VULCANa
13:38
I mam plan zaimplementować OAuth2.0
13:38
Tak, aby użytkownik mógł wybrać do czego chce dać dostęp klientowi (stronie, która używa tego API) (edited)
13:39
I strona klienta nigdy nie widziałaby hasła użytkownika
Avatar
Jak rozwiążesz problem sesji?
Avatar
Dominik Korsa 12.01.2021 13:40
Myślę, że najłatwiej będzie zrobić coś w stylu JWT
13:40
I w access tokenie dać zaszyfrowany (nie podpisany!) email i hasło
13:40
Albo będę trzymał w bazie
13:41
Ale no tutaj wiadomo, to jest potencjał na wyciek
13:41
Nawet, jak będą szyfrowane
13:41
Teraz użytkownik musi mieć dostęp do jakiegoś interfaceu tego Wulkanowy Bridge
13:42
I myślę, że użytkownik będzie podawał tylko email
13:42
I przy każdym logowaniu do interfaceu będzie musiał wpisać kod z maila albo kliknąć link
Avatar
W ogóle trzymanie hasła na jakimś serwerze to bardzo delikatna sprawa
13:44
Okropnie delikatna
Avatar
Dominik Korsa 12.01.2021 13:44
Tak
13:46
Dlatego bardziej jestem skłonny ku trzymaniu w tokenach
13:48
Znaczy no nadal to hasło gdzieś przy wykonywaniu requestu będzie
13:48
No nie da się inaczej
13:48
No ale z drugiej strony
13:48
Przenosimy ten problem z clienta na Bridge
Avatar
Tylko w przypadku klienta to klient ma hasło i serwer pośredniczący nie zajmuje się jego obsługą ślepo wysyła to co dostał od klienta
13:52
Czyli nie ma ryzyka wycieku haseł
Avatar
Dominik Korsa 12.01.2021 13:55
Znaczy to ma działać na stronach internetowych
13:55
Bo przez CORS nie można ze strony wykonać requestu do VULCANa
13:57
A więc chociażby taki Wulkanowy Web już ma taki problem
13:57
I do każdej strony internetowej potrzebny jest backend
13:58
Więc jakiemuś serwerowi użytkownik musi zaufać (edited)
Avatar
Gdyby klient był browserowy i używałby wyłącznie serwera jako przelotki do omijania corsu to by wyglądało to już inaczej
Avatar
Dominik Korsa 12.01.2021 14:00
No ale nawet wtedy i tak przez "przelotkę" to hasło musi przejść
Avatar
To prawda, ale to jest co innego
14:02
Co innego, bo tak działa internet. Jak się gdzieś logujesz, to twoje hasła przechodzą szyfrowanym kanałem między dziesiątkami takich pośredników
14:03
Tyylko że tu by nie było szyfrowania
14:04
Ale tak czy siak to jeśli serwer by tego hasła złośliwie nie zapisywał, to nie miałoby co ewentualnie wyciec
14:05
Dlatego między innymi wulkanowy nie używa pośrednika, bo chciałbym żyć ze świadomością, że hasła osób które nam zaufały mogą kiedyś wyciec
Avatar
Dominik Korsa 12.01.2021 14:06
No ale wulkanowy-web będzie
Avatar
@pengwius jak ten problem chcesz rozwiązać?
Avatar
Czekaj, muszę przeczytać o czym tu rozmawialiście
14:18
W sensie utrzymywanie sesji kilku userów jednocześnie?
Avatar
Dominik Korsa 12.01.2021 14:18
nie
14:19
Jak wygląda sprawa sesji w waszym backendzie?
14:20
A w ogóle
14:20
To jak wygląda sesja w Wulkanowym (app)? (edited)
14:20
Czy wy gdzieś trzymacie Cookiesy?
Avatar
Wulkanowy trzyma sesję w pamięci, po restarcie następuje nowe logowanie
Avatar
Dominik Korsa 12.01.2021 14:21
A przy automatycznej synchronizacji?
Avatar
Jak apka jest wtedy włączona to używa istniejącej sesji, jak nie to się loguje w tle
Avatar
Dominik Korsa 12.01.2021 14:23
Bo się zastanawiam co ja powinienem zrobić
Avatar
Wszystkie dane potrzebne do wysłania requesta są trzymane client-side, przy wysyłaniu requesta wysyłam te dane i serwer wykonuje request do vulcana i te wszystkie dane nigdzie nie są zapamiętywane. Ta djangowa sesja jest po to żeby ktoś sobie nie wpisał wulkanowy.web/content i jak nie jest zalogowany to żeby mu jakieś śmieszne rzeczy nie powyskakiwały
14:24
W sensie żeby nie wszedł na tą stronę z contentem nie będąc zalogowanym
14:24
O to wam chodzi?
Avatar
I'm looking for a way to have a website remember sensitive data, but without actually storing it server side. And I was looking at HTML5 localStorage to do it. Here's the plan as I see it. User ...
14:24
Hmm
Avatar
Dominik Korsa 12.01.2021 14:25
Nad właśnie czymś takim się zastanawiam
Avatar
Tylko zamiast localStorage używam sessionStorage
Avatar
Local storage shouldn't be used to store sensitive data. It's unsafe!
14:30
Sam już nie wiem
Avatar
Dominik Korsa 12.01.2021 14:44
Zapominając o tym
14:44
Teraz większym problemem jest
14:45
Jak mam uniknąć logowania przy każdym requeście klienta
14:46
Bo zapewne większość zapytań będzie zaraz po sobie (edited)
Avatar
Ja trzymam ciasteczka w sessionStorage
Avatar
Dominik Korsa 12.01.2021 14:46
Hmm ale jak jest przesyłasz do klienta?
Avatar
No pobieram do zmiennej te ciastka co vulcan zwrócił i zwracam jako jsona
Avatar
Dominik Korsa 12.01.2021 14:47
A szyfrujesz je jakoś?
Avatar
Na razie nie
14:47
Ale na pewno w przyszłości będzie coś takiego
14:48
Bezpieczeństwo użytkownika najważniejsze
Avatar
Dominik Korsa 12.01.2021 14:48
No ale w czym to pomaga w tym przypadku?
Avatar
W sensie szyfrowanie?
Avatar
Dominik Korsa 12.01.2021 14:48
Tak
14:49
Chociaż nie
14:49
Jeśli u klienta są te cookiesy zaszyfrowane
14:49
To żadnej skrypt nie będzie mógł ich użyć do wysłania requestu bezpośrednio przez VULCANa
14:50
A tylko przez twoje API
Avatar
A nawet jakby nie były to jak ktoś ma nasłuch na naszego klienta to nie będzie ich widział
14:50
Ja nie widzę potrzeby żadnego rozszyfrowywania tych ciastek po stronie klienta (edited)
Avatar
Avatar
Dominik Korsa
To żadnej skrypt nie będzie mógł ich użyć do wysłania requestu bezpośrednio przez VULCANa
Dokładnie
Avatar
Avatar
pengwius
Ja nie widzę potrzeby żadnego rozszyfrowywania tych ciastek po stronie klienta (edited)
Dominik Korsa 12.01.2021 14:50
Nie rozumiem
Avatar
Avatar
Dominik Korsa
Nie rozumiem
Po stronie klienta
Avatar
Dominik Korsa 12.01.2021 14:51
Szyfrowanie/Rozszyfrowywanie powinno być tylko po stronie serwera
Avatar
No
Avatar
Dominik Korsa 12.01.2021 14:52
Hmm no może tutaj to też mi wystarczy
14:52
Że zamiast trzymać w bazie
14:52
To będę wysyłał zaszyfrowane do klienta
Avatar
Większy problem jest z mailem i hasłem
Avatar
Można jaśniej o co w tym chodzi? I do czego będzie można tego użyć.
Avatar
Dominik Korsa 12.01.2021 14:53
Z Wulkanowy Bridge?
Avatar
To będzie taki pośrednik pomiędzy klientem a vulcanem
Avatar
Dominik Korsa 12.01.2021 14:53
Tak
14:53
Ale główną cechą będzie użycie OAuth2.0
Avatar
I co ten pośrednik będzie robił?
Avatar
Dominik Korsa 12.01.2021 14:54
Więc user będzie podawał Email i Hasło na stronie Bridge'a (edited)
14:54
A klient będzie miał tylko token
14:54
A nie będzie miał nigdy dostępu do Emaila ani Hasła
14:55
I też będzie ogarnięte CORS
14:55
Więc każda strona wykorzystująca Bridge nie będzie potrzebowała swojego backendu (edited)
Avatar
Może kiedyś wulkanowy-web zostanie podpięty pod bridgea 🤔
Avatar
Dominik Korsa 12.01.2021 14:59
No będzie taka możliwość
Avatar
Oranż Metylowy 12.01.2021 15:17
Woah
Avatar
Dominik Korsa 12.01.2021 15:17
Witaj
Avatar
Helo oranż
Avatar
Dominik Korsa 12.01.2021 15:18
Pewnie chciałbyś podłączyć do tego Librusa?
Avatar
Oranż Metylowy 12.01.2021 15:18
nie
15:18
XD
Avatar
Wulkanowy for librus?
Avatar
Dominik Korsa 12.01.2021 15:18
A ja bym chciał
15:18
Bo mam Librusa w szkole
Avatar
Ale to w aplikacji też musiałoby być
Avatar
Oranż Metylowy 12.01.2021 15:18
a masz zgodę na korzystanie z API Librus?
Avatar
Dominik Korsa 12.01.2021 15:19
wrr
Avatar
Oranż Metylowy 12.01.2021 15:19
nie masz
15:19
więc nie możesz
Avatar
Avatar
Oranż Metylowy
a masz zgodę na korzystanie z API Librus?
to będzie tylko prywatnie wykorzystywane
Avatar
Oranż Metylowy 12.01.2021 15:19
regulamin tego zabrania
15:19
nawet prywatnie
Avatar
Dominik Korsa 12.01.2021 15:19
A co w ogóle ze Szkolnym.eu
Avatar
Co prywatnie
15:19
Ja tam jade do nich
Avatar
Dominik Korsa 12.01.2021 15:19
Odpisali wam?
Avatar
Pewnie nie
Avatar
Oranż Metylowy 12.01.2021 15:20
to jest bardziej skomplikowane niż wam się wydaje
Avatar
Dominik Korsa 12.01.2021 15:20
Wierzę
Avatar
Oranż Metylowy 12.01.2021 15:21
tak więc, nic nie powiemy bo i tak (a) nie ma co mówić (b) lepiej nie mówić (c) lepiej nie mówić
Avatar
Ja najbardziej nie rozumiem tych co dają złe opinie o szkolnym bo librusa nie ma
15:22
To nie wasza wina
15:23
A aplikacja działa świetnie
Avatar
dają złe opinie bo w opisie i nazwie jest, że librusa obsługuje, a to nieprawda
Avatar
Dominik Korsa 12.01.2021 16:19
16:20
Bazując na tym:
16:20
This tutorial shows you how to migrate from the OAuth 2.0 Implicit flow to the more secure Authorization Code with PKCE flow.
16:24
16:24
Zastanawiam się jeszcze czy w ogóle robienie refresh tokena ma sens
Avatar
Dominik Korsa 12.01.2021 17:28
Spróbuję zrobić jakiś proof-of-concept
17:28
Zobaczymy co z tego wyjdzie
Avatar
Dominik Korsa 12.01.2021 21:43
Dodałem w sdk-node#28 funkcje do serializacji SDK
Avatar
Wulkanowy bot BOT 12.01.2021 21:43
Brak opisu
Typ
Pull request
Stan
Merged
Avatar
Dominik Korsa 12.01.2021 21:44
I zamierzam ogarnąć te sesje tak
21:45
Że przy każdym requescie będzie można dać header Session-Data (co do nazwy nie jestem jeszcze pewien)
21:48
Tutaj były by zaszyfrowane zserializowane Client, Diary dla każdego ucznia (do którego klient Bridge'a będzie miał dostęp) i id tokenu (żeby ktoś nie podesłał zserializowanych danych do innego konta)
21:48
I przy każdym responsie ustawiałbym header Set-Session-Data
21:48
Który wysyła tą zaszyfrowaną sesję
Avatar
Dominik Korsa 14.01.2021 15:21
Plan był taki, żeby hasła były trzymane zaszyfrowane w tokenie
15:22
Ale potem nie będzie jak zmienić hasła
15:22
Myślę, czy da się to zrobić trzymając hasło w bazie
15:23
Tak, że w tokenie byłby klucz prywatny
15:23
A w bazie klucz publiczny i zaszyfrowane tym kluczem hasło
Avatar
No chyba, że bawić się generowaniem certyfikatów
Avatar
Dominik Korsa 14.01.2021 15:24
Jakich certyfikatów?
15:24
Strona na pewno będzie miała HTTPS
15:24
Ale problem jest taki
15:24
Że ja absolutnie nie chce mieć nawet możliwości poznania hasła z bazy danych
15:25
I żeby Client też nie miał sam takiej możliwości
15:26
Ale gdy mój serwer wykonuje request do serwerów VULCANA to to hasło musi mieć
15:26
Plan był tokenie wysyłanym klientowi będzie zaszyfrowane login i hasło
15:27
I dopiero w momencie wykonania zapytania przez klienta to serwer będzie mógł rozszyfrować hasło
15:27
I wysłać je do VULCANa
15:29
Raczej nie będę się starał uwzględnić przypadku zmiany maila
15:30
Najwyżej jakiś sposób na revoke access
Avatar
Co mi pierwsze przychodzi to przy kliencie podpisywać login i hasło kluczem SSH
Avatar
Dominik Korsa 14.01.2021 15:31
Czekaj
15:31
Client nigdy, nigdy, nigdy nie będzie widział hasła (edited)
15:31
Kwestia jest taka
15:31
Że uzyskanie dostępu do bazy danych i nawet kluczy prywatnych serwera nie da jeszcze dostępu do haseł
15:32
Przynajmniej póki client nie wykona zapytania
15:32
Bo tego już nie sposób obejść
Avatar
Avatar
Damian
Co mi pierwsze przychodzi to przy kliencie podpisywać login i hasło kluczem SSH
No to po stronie serwera musi być w takim razie (edited)
Avatar
Dominik Korsa 14.01.2021 15:38
Sory, nie miałem na chwilę internetu
15:39
Ten klucz prywatny
15:39
Będzie w tokenie
15:39
I przy wykonaniu zapytania serwer pozna ten klucz
15:40
I użyje go do odczytania hasła z bazy
Avatar
No właśnie o to chodziło
Avatar
Dominik Korsa 14.01.2021 15:40
Problem z tym jest taki
15:41
Że przy generowaniu tokenu serwer musi znać hasło
15:41
Ale myślę, że można po prostu zapytać usera
15:41
(weryfikując to po drodze)
Avatar
Dominik Korsa 14.01.2021 15:52
Hmm kolejny problem
15:52
Chciałem użyć maila do wysyłania wiadomości userowi i awaryjnego dostępu, np. w przypadku nie działania serwerów VULCANA
15:52
Ale...
15:53
Niektóre dzienniki mają loginy
15:53
Egh
Avatar
Dominik Korsa 14.01.2021 17:13
I w ogóle nie będę robił osobno refresh tokenu i access tokenu
17:14
Bo to miałoby sens, gdyby był osobno serwer auth a osobno API
17:14
Jeśli access token miałby być self-signed
17:15
To żeby miał mieć sens
17:16
To wszystkie dane do requestu musiały by być w nim
17:16
Ale to by powodowało
17:17
Że zmiana hasła lub unieważnienie tokenu działaby by dopiero podczas odświeżania z refresh tokenem
17:17
I też developer musi o tym myśleć
Avatar
Dominik Korsa 14.01.2021 17:35
We developers often have access tokens and other sensitive information flowing through our applications. Access tokens are needed so that…
Avatar
Dominik Korsa 14.01.2021 17:43
No szkoda tylko, że proponowane rozwiązanie wymaga posiadania własnego serwera
17:43
(głosem CGP Grey): And that's a deal-breaker
Avatar
Dominik Korsa 14.01.2021 18:02
Kurczę XSS będzie problemem
18:02
Na szczęście nie moim tylko twórcy aplikacji klienta 😄 (edited)
Avatar
Dominik Korsa 14.01.2021 22:53
22:53
Jestem jak VULCAN
22:53
To napisałem po polsku
22:53
A teraz się orientuję
22:53
Że następne mam po angielsku
22:53
😄
22:54
Ja kiedyś na angielskim na testcie na zdalnych zamiast devil napisałem debil i prawie to wysłałem
Avatar
jednak praca w vulcanie to sama przyjemność
Avatar
Kiedy będzie repo na gh?
Avatar
Dominik Korsa 16.01.2021 18:24
Dzisiaj dopiero jestem w domu
18:24
Nie wiem ilę zrobię
18:25
Bo na razie to bardziej eksperymentuję
Avatar
Ale moim zdaniem warto to udokumentować 😉
Avatar
Dominik Korsa 16.01.2021 19:10
Próbuję skorzystać z fastify
19:10
Ale z tego co widzę
19:10
To chyba wolę wrócić do expressa
19:10
Jako framework backendowy
Avatar
Walcz z przyzwyczajeniami
Avatar
Dominik Korsa 16.01.2021 19:16
A ja w ogóle bardzo mało z expressa korzystałem
Avatar
Dominik Korsa 16.01.2021 23:18
wulkanowy/bridge
Avatar
Wulkanowy bot BOT 16.01.2021 23:18
Brak opisu
Gwiazdki
0
Avatar
pierwszy
Avatar
drógi
Avatar
Dominik Korsa 17.01.2021 13:59
13:59
Robię API dla frontendu
13:59
Ucząc się GraphQL
14:00
Bo czemu by nie robić projektu wymagającego 100% bezpieczeństwa bez znajomości używanych technologi
14:00
Yay!
14:02
I właściwie
14:03
To nie wiem na co tu GraphQL
14:03
Poza schema
Avatar
Dominik Korsa 18.01.2021 00:17
Hmm
00:17
00:17
Trochę dużo żeby trzymać w tokenie
00:18
Może to lepsze:
00:18
00:20
Bo to jest zaszyfrowany klucz prywatny
Avatar
Deleted User 18.01.2021 00:21
mmmm
00:21
private goes brrrr
Avatar
Dominik Korsa 18.01.2021 00:21
Kurczę bo to wszystko potem będzie w Headerze
Avatar
Deleted User 18.01.2021 00:21
Ale kogo to klucz prywatny? Co nim szyfrujesz?
Avatar
Dominik Korsa 18.01.2021 00:22
Szyfruję hasło
Avatar
Deleted User 18.01.2021 00:22
Wysyłanie klucza między serwerami to niezbyt dobry pomysł
00:22
Według mnie
Avatar
Dominik Korsa 18.01.2021 00:22
Czekaj
00:22
Już tłumaczę
00:22
Na serwerze mam sekretny klucz o długiej nazwie™ (edited)
00:23
Kiedy user się zaloguje
00:23
Żeby dać dostęp aplikacji (edited)
00:24
To serwer generuje parę kluczy (publiczny, prywatny)
00:24
Potem szyfruję klucz prywatny kluczem o długiej nazwie (symetrycznie)
00:25
I zaszyfrowany klucz prywatny wysyłam do aplikacji
Avatar
Deleted User 18.01.2021 00:25
Cryptographic
Avatar
Dominik Korsa 18.01.2021 00:25
A kluczem publicznym szyfruję hasło w bazie
Avatar
Deleted User 18.01.2021 00:25
ok...
00:26
A te klucze szyfrujesz jeszcze swoim osobistym kluczem prywatnym
Avatar
Avatar
Dominik Korsa
Na serwerze mam sekretny klucz o długiej nazwie™ (edited)
Dominik Korsa 18.01.2021 00:26
.
00:27
Tak więc normalnie aplikacja (klient) nie zobaczy swojego klucza prywatnego
Avatar
Deleted User 18.01.2021 00:27
Dużo szyfrowania
Avatar
Dominik Korsa 18.01.2021 00:27
Więc nawet mając dostęp do bazy nie odczyta hasła
00:27
Bo musiałaby też znać klucz o długiej nazwie™ (edited)
00:28
PS: Klient będzie miał bardzo proste zadanie
00:29
Jak dostanie token, to w nim będą zaszyfrowane te klucze prywatne i inne
Avatar
Deleted User 18.01.2021 00:29
POST /zalogujmnie
Avatar
Dominik Korsa 18.01.2021 00:29
I on po prostu ten token musi wysłać
00:29
Za każdym razem
00:29
Chodzi o to
00:30
Że nawet jakby ktoś się włamał na serwer
00:30
I miał dostęp i do bazy i do kluczy serwera
00:30
To nadal nie będzie mógł uzyskać żadnych danych
00:31
Bo potrzebuje jeszcze Access tokenu
00:31
Niestety jeśli aplikacja słabo zabezpiecza Access token
00:32
To ktoś może go użyć do wykonywania zapytań do Bridge
00:33
Ale bezpośrednio do VULCANA nie będzie mógł wykonać requestów
00:35
Także to wszystko jest na zasadzie, że nikomu nie można zaufać
00:36
Ale jednak Bridge przy wykonaniu requestu hasło musi poznać
00:36
Nie da się tego obejść
00:38
Ale przynajmniej jak ktoś dostanie się do bazy danych to prawie nic mu to nie da
Avatar
Avatar
Dominik Korsa
Click to see attachment 🖼️
Dominik Korsa 18.01.2021 07:52
Hmm to jest format hex
07:52
Może base 64 byłby lepszy
Avatar
Dominik Korsa 18.01.2021 08:52
08:52
Ojej
08:52
1.57 sekundy
08:56
A nie, tu już się logowałem
08:56
I to tyle trwało
Avatar
Avatar
Dominik Korsa
Click to see attachment 🖼️
Oranż Metylowy 18.01.2021 09:11
czemu trzymasz JSONa w stringu ?!?
Avatar
Dominik Korsa 18.01.2021 09:14
Dlatego, że dla frontendu to jest jedna całość, bez znaczenia
09:14
Obie te rzeczy są potrzebne do odszyfrowywania
Avatar
Dominik Korsa 18.01.2021 09:26
Teraz będzie piękny rozdzielający @
09:26
Avatar
Oranż Metylowy 18.01.2021 09:27
wow
09:27
skompresuj jeszcze ten klucz xd
09:27
żeby mniej zajmował miejsca
Avatar
Dominik Korsa 18.01.2021 09:28
No trochę tak robię
09:28
09:28
Krótszy
09:28
Ale mniej bezpieczny
Avatar
Oranż Metylowy 18.01.2021 09:28
czemu
Avatar
Dominik Korsa 18.01.2021 09:29
09:29
Zmniejszyłem to
Avatar
Oranż Metylowy 18.01.2021 09:29
oh
09:29
niee
09:29
ja mówiłem żebyś nwm, gzipował to całe encryptedPrivateKey xD
Avatar
Dominik Korsa 18.01.2021 09:29
Hmm
09:30
09:31
Szkoda się męczyć
Avatar
Gzipować to server może
09:49
Nie ma sensu takiej operacji robić w backendzie
Avatar
Avatar
Dominik Korsa
Click to see attachment 🖼️
Dominik Korsa 18.01.2021 09:50
Jakby co wróciłem do 1024, bo 512 nie jest zbyt bezpieczne (edited)
09:50
Avatar
Dodajcie link do opisu kanału
22:33
Przydatne to jest
Avatar
Dominik Korsa 21.01.2021 00:20
Avatar
E no
00:20
Jest gites
Avatar
Dominik Korsa 21.01.2021 00:21
Albo aplikacja może sobie zażyczyć wybranie dokładnie jednego ucznia
00:21
00:22
00:22
Jeszcze trochę jest do zrobienia
Avatar
W ogóle #wulkanowy-web nie obsługuje takiego wyboru ucznia, po prostu bierze pierwszego
00:22
Trzeba ogarnąć
00:22
Ja musze ogarnąć
00:23
W ogóle duży tam syf, posprzątać by się trochę przydało
Avatar
Dominik Korsa 21.01.2021 00:24
00:24
00:24
I tamto
00:25
A, logo jest tymczasowe
Avatar
E no, profeska
Avatar
Dominik Korsa 21.01.2021 00:25
Wypadałoby coś ogarnąć
Avatar
Ty masz tutaj ten generator symboli?
Avatar
Dominik Korsa 21.01.2021 00:26
Jaki generator symboli?
00:26
// To używa #sdk-node
Avatar
Ehm
00:27
Nie wiem czy to jest dokładnie to
00:27
Ale chodzi o to co przydziela symbol
Avatar
Dominik Korsa 21.01.2021 00:27
Nie wiem
00:28
doteq robił, ja nic nie wiem
Avatar
Nigdzie w wulkanowym bridge się symbolu nie wpisuje?
Avatar
Dominik Korsa 21.01.2021 00:29
Nie
00:29
Jakieś XMLe tam są
00:29
Certyfikaty
00:29
Nie wiem
00:29
Zobacz sobie do sdk-node
Avatar
Oranż Metylowy 21.01.2021 09:43
wow
09:43
nieźle
09:43
nie wczytywałem się na jakiej zasadzie to działa, ale nieźle
Avatar
Dominik Korsa 21.01.2021 10:52
To
10:52
10:52
Czy to
10:52
Avatar
Ja bym dał to pierwsze
10:53
Chociaż nie wiem
Avatar
po lewej
10:56
czyli drugie
Avatar
Dominik Korsa 21.01.2021 10:56
It's a tie
10:57
Ja na początku myślałem, że na środku lepiej
10:57
Teraz myślę, że może lepiej po lewej
Avatar
Dominik Korsa 21.01.2021 15:56
15:56
why
Avatar
Deleted User 22.01.2021 08:48
połowa kodu backendu w pythonie
Avatar
Dominik Korsa 22.01.2021 17:20
Avatar
mam pomysł na ikonę
17:21
byłby taki most między dwoma wulkanami
17:21
po lewej wulkanowy, w środku most nad jeziorem lawy
17:21
a po prawej wulkan VULCANa
Avatar
Dobre
Avatar
Dominik Korsa 22.01.2021 17:22
hmm
17:23
17:24
GitHub ma coś takiego
17:24
// mieliśmy pomysł, żeby wysyłać issuesy z discorda
17:25
Może by to jakoś mądrze skopiować wykorzystać i zrobić coś podobnego
17:25
Tylko Aplikacja, Wulkanowy Bridge, Vulcan
Avatar
Dominik Korsa 22.01.2021 17:49
Zastanawiam się w jaki sposób zrobić logowanie do panelu developera
17:49
Rozważam albo jakiś prosty system haseł
17:50
Albo logowanie przez GitHub
17:53
Jakbym zrobił logowanie przez GitHub, to można też dać przy autoryzacji nazwę użytkownika GH
Avatar
Tylko nie zastawiajcie komentarzy w jakimś tam pliku z hasłami
Avatar
Dominik Korsa 22.01.2021 17:53
Hmm co
17:53
Jaki plik z hasłami
17:53
I jakie komentarze
Avatar
mklkj wszystko ci wyjaśni
17:54
Bo na pewnym tajnym spotkaniu kolega chyba mklkj mówił jak dostał hasło do panelu gdzie mógł sobie wygenerować gift cardy xD
Avatar
Dominik Korsa 22.01.2021 20:22
20:22
Czy użycie target="_blank" jest tu uzasadnione?
Avatar
Wydaje się, że tak
20:23
Tylko nie zapomnij noopenera
Avatar
Dominik Korsa 22.01.2021 23:03
Ehh jest problem
23:03
Te wszystkie dane są za duże dla RSA
23:04
A sam klucz RSA jest zdecydowanie zbyt duży, żeby go przesłać w URLu (zaszyfrowany)
23:10
Zastanawiam się jeszcze
23:11
Czy nie trzymać klucza prywatnego na serwerze
23:11
Ale zaszyfrowanego jakimś mniejszym kluczem symetrycznym
Avatar
Dominik Korsa 22.01.2021 23:25
Hmm no z rozmiarem danych to problem jest tylko z zserializowanym klientem (cookiesy i takie tam)
23:26
Ale to mógłbym szyfrować symetrycznie
23:26
Oczywiście klucz i tak u klienta
23:26
Natomiast muszę mieć możliwość zmiany hasła w każdym momencie
Avatar
Dominik Korsa 23.01.2021 12:22
12:22
Jeszcze w token database będzie jakieś id usera którego to dotyczy
12:23
I tam będzie login/email
Avatar
Avatar
Dominik Korsa
A sam klucz RSA jest zdecydowanie zbyt duży, żeby go przesłać w URLu (zaszyfrowany)
Można postem
Avatar
Dominik Korsa 23.01.2021 12:33
tu nie można
12:33
już tłumaczę
12:34
W OAuth2.0 po autoryzowaniu user jest przekierowywany do redirect_uri (edited)
12:34
I dodawany jest search param ?code=
Avatar
A bo oauth, racja
Avatar
Dominik Korsa 23.01.2021 12:36
Potem strona robi request POST, z code jako parametr
12:36
I dostaje swój token
12:37
Ten kod ma krótki lifetime
12:37
Zrobiłem 60 sekund
12:37
Więc być może to jest akceptowalne, żeby tak długo trzymać niezaszyfrowane dane na serwerze
12:37
Ale potem i tak token też będzie długi
Avatar
Dominik Korsa 23.01.2021 13:23
Taką to ma teraz długość
13:24
Może nawet za krótkie
13:25
13:26
Nie, jednak nie
13:27
To jest klucz 256-bitowy
Avatar
Dominik Korsa 23.01.2021 14:41
RFCs są tekstowe
14:41
Więc wszystkie "obrazki" też są z tekstu
14:42
Avatar
Dominik Korsa 23.01.2021 18:49
Avatar
w sumie na myśl przyszła jeszcze jedna rzecz
18:50
RODO
18:51
jak się ma do tego RODO?
Avatar
Dominik Korsa 23.01.2021 18:51
a tak
18:52
nie mam pojęcia
18:52
jak to się ma do RODO (edited)
Avatar
Poznaj wymogi dla firm i organizacji, dotyczące gromadzenia i przechowywania i przetwarzania danych osobowych. Sprawdź zasady i kary związane z RODO.
Avatar
Avatar
Dominik Korsa
jak to się ma do RODO (edited)
Avatar
Dominik Korsa 23.01.2021 18:53
18:53
What the
18:53
IP
Avatar
Oranż Metylowy 23.01.2021 18:53
ale wy nie jesteście firmą
Avatar
Avatar
Dominik Korsa
What the
mając IP, czas i logi możesz dojść do osoby
Avatar
Dominik Korsa 23.01.2021 18:55
Kurczę jak już tak myślimy
18:55
email to dane osobowe, jeśli zawiera imię i nazwisko
Avatar
teraz pytanie pod jaki typ działalności będzie podpadał ten projekt
Avatar
Dominik Korsa 23.01.2021 18:58
Ale jeśli chodzi o email, to można zrobić tak, że będę go hashował
Avatar
chyba nie
Avatar
Dominik Korsa 23.01.2021 18:58
I zostawię np. dwie pierwsze i dwie ostatnie litery przed @ i domenę
18:58
Zależy, czy chcę używać do komunikacji
Avatar
a nie potrzebujesz go w postaci jawnej?
18:59
no właśnie
Avatar
Dominik Korsa 23.01.2021 18:59
Bo jeśli chcę wysyłać alerty
18:59
To musi być jawny
18:59
Ale jeśli tylko do logowania w razie problemów/czegoś z dziennikiem
18:59
To mogę prosić o wprowadzenie i porównywać z hashem (edited)
18:59
I dopiero wtedy wysyłać
Avatar
Dominik Korsa 23.01.2021 19:09
Zresztą nawet jak my nie przetwarzamy danych osobowych
19:10
To aplikacja korzystająca z Bridge już tak
19:10
Jak na razie planuję w ogóle nie dawać możliwości uzyskania takich informacji jak PESEL, czy data urodzenia
Avatar
peselu się nie da wyciągnąć
19:11
kiedyś się dało, ale teraz tego nie widzę
19:11
jest tylko data urodzenia
Avatar
Dominik Korsa 23.01.2021 22:37
O jak miło, że ApolloServer wypuści wszystkie headery na świat
22:37
I cały trace backendu
22:37
Jakie mądre
Avatar
Dominik Korsa 23.01.2021 23:17
Protip dla was: jak znajdziecie taki incydent to napiszcie priva
23:17
A w ogóle to miałem pisać o tym, że potrzeba zrobić jakąś politykę bezpieczeństwa
23:18
Czyli sposób zgłaszania incydentów bezpieczeństwa
Avatar
Dominik Korsa 24.01.2021 23:28
23:28
Zrobiłem tak
23:29
SDK zwraca listę symboli jakie znajdzie
23:29
I user albo może wybrać z listy
23:29
Albo wpisać sam
Avatar
to jest zaraz po wpisaniu hasła?
Avatar
Dominik Korsa 24.01.2021 23:30
Tak
23:30
Ale jeśli zadziała
23:30
Tylko jakiś opis muszę dodać
Avatar
w wulkanowym myślałem to zrobić tak, że na ekranie wyboru ucznia pokazywałaby się opcja podania innego symbolu
23:31
bo to stosunkowo rzadkie powinno być, żeby ten symbol trzeba było podawać inny
Avatar
Dominik Korsa 24.01.2021 23:33
A i wywaliłem licznik kroków
23:34
Bo przy pierwszym logowaniu poprosi o podanie maila
23:34
A następnym razem już nie
23:34
I w ogóle już się kilka tych kroków zrobiło (edited)
23:34
A nie chcę nikogo straszyć
23:34
Zrobiłem jeszcze tak
23:34
Jak jest jeden symbol, to będzie napis domyślny
23:34
No i jest też domyślnie zaznaczony
Avatar
Dominik Korsa 25.01.2021 11:37
Teraz sobie myślę
11:37
Konto fakelog też będzie maiło jakiś mail
11:37
I jakieś dane
11:37
I w ogóle
11:38
I każdy będzie mógł się zalogować
11:38
Nie jestem pewien czy to taki dobry pomysł
Avatar
Dominik Korsa 25.01.2021 14:31
Właściwie już sam protokół OAuth2 jest zaimplementowany
Avatar
@Dominik Korsa dodaj link do gh w opisie kanału, prosze
17:09
Jest to bardzo przydatne
Avatar
Dominik Korsa 25.01.2021 17:09
Ja tego nie mogę zrobić (edited)
Avatar
Przecież jesteś moderatorem
Avatar
Dominik Korsa 25.01.2021 17:09
@mklkj ogarniesz?
Avatar
Avatar
pengwius
Przecież jesteś moderatorem
Dominik Korsa 25.01.2021 17:10
Tak, ale uprawnień do edytowania kanałów nie mam
Avatar
moderator może tylko kickować i banować
Avatar
Avatar
Dominik Korsa
@mklkj ogarniesz?
Nazwa kanału ma być taka sama jak repa
17:13
Więc zmieniłem nazwę kanału
Avatar
Dominik Korsa 25.01.2021 17:13
git
17:13
Gites
Avatar
hmm wytłumaczy mi ktoś idee tego projektu?
Avatar
Dominik Korsa 25.01.2021 17:14
Gateway (BRIDGE!) do VULCANa z wsparciem GraphQL i OAuth2.0 (edited)
Avatar
Możliwe że kiedyś #wulkanowy-web będzie pod niego podpięty
Avatar
Dominik Korsa 25.01.2021 17:15
Więc user może wybrać scope-y
17:15
Zalogować się
17:15
I klient (aplikacja używająca bridge'a) nigdy nie zobaczy hasła
Avatar
Avatar
Fajerbejs
hmm wytłumaczy mi ktoś idee tego projektu?
Taki flareon dla vulcana (edited)
Avatar
właśnie o tym samym pomyślałem
17:16
😄
Avatar
Dominik Korsa 25.01.2021 17:17
Hmm a co to flareon
Avatar
to takie api w firmie które stoi między magento a aplikacją
17:18
mniej więcej tłuamczy ono GraphQL od magento do REST Api dla apki
17:18
i ułatwia kilka innych rzeczy
Avatar
Ale to tylko luźne skojarzenie, bo to mocno inne projekty
Avatar
Avatar
Fajerbejs
hmm wytłumaczy mi ktoś idee tego projektu?
@Dominik Korsa napisz w jednej wiadomości co i jak i przypnij najlepiej
17:53
żeby nie było co chwila pytań
Avatar
Dominik Korsa 25.01.2021 17:53
Napiszę README
17:54
I w ogóle dokumentację
Avatar
+1
Avatar
Dominik Korsa 26.01.2021 16:09
Hmm, ciekawe czy VULCAN wykryje duży ruch z jednego IP
16:10
Albo czy będzie jakiś niemiły rate-limiting
Avatar
Ja zarejestrowałem 1100 urządzeń mobilnych w ciągu paru minut i nic się takiego nie stało
Avatar
puścicie ruch przez tora
18:02
XD
18:02
nie znajdą was
Avatar
tylko publiczne exit node'y mają znane IP
18:03
więc po prostu mogą zablokować ruch z TORa
Avatar
no to wtedy robisz Twój komputer -> TOR -> jeszcze jakieś proxy -> Vulcan
20:28
zgaduję że tak się da
Avatar
I użytkownik czekający pół wieku aż się zaloguje
Avatar
eee tam, kiedyś mieli modemy i nie narzekali
20:29
teraz majo tory i narzekajo
20:29
a nawet jeden pocionk po tyh torah nie jeśći
Avatar
No dobrze
Avatar
kiedyś to było, teraz to ni ma
Avatar
Ale to nie zmienia faktu że powinniśmy użytkownikom serwować szybkie, optymalne oraz bezpieczne oprogramowanie EDIT: i ładne (edited)
Avatar
ale ja żartuje
Avatar
Ah
20:32
Już przestane odróżniać żartu od poważnej wypowiedzi
20:32
Ciągłe życie z debilami
Avatar
nie no raczej widać że nie piszę serio
Avatar
Dominik Korsa 07.02.2021 11:49
Readme i dokumentację robić po angielsku czy po polsku?
Avatar
jak chcesz
Avatar
I po angielsku i po polsku bym zrobił
Avatar
a jak się nie możesz zdecydować to po angielsku i po polsku
Avatar
Dominik Korsa 07.02.2021 11:50
No nie mam czasu żeby dwa robić na razie
11:50
Kiedyś można zrobić
11:50
Strona na razie jest tylko po polsku
Avatar
w czym ci łatwiej
Avatar
Dominik Korsa 07.02.2021 11:51
I portal developera też
Avatar
ale polskich docsów chyba jeszcze nigdy nie widziałem
Avatar
Dominik Korsa 07.02.2021 12:33
Dodałem na razie jakieś podstawowe README
Avatar
Dominik Korsa 09.02.2021 15:24
15:24
Piękne zdanie
15:24
it is in the
Avatar
Dominik Korsa 09.02.2021 22:30
Robię dokumentację jako wiki
22:30
Po angielskiemu (edited)
16:56
Dla samej nazwy
Avatar
Dominik Korsa 10.02.2021 22:14
No dobra, pora utrudnić życie programistom
22:14
Będzie można odrzucić scope'y
22:14
I zrobię incremental authorization
22:17
bridge#10
Avatar
Wulkanowy bot BOT 10.02.2021 22:17
  • [ ] Make scopes app-specific instead of token-specific
  • [ ] Allow user to deny scopes during authorization
  • [ ] Show already granted scopes during authorization (maybe allow to revoke them or add link to app list)
  • [ ] Allow user to revoke scopes in app list
  • [ ] Implement incremental authorization (maybe don't ask to re-login and use an existing token)
  • [ ] Implement scope revocation endpoint
Incremental authorization Internet-Draft: https://tools.ietf.org/html/draft-ietf-oauth (...)
Repozytorium
wulkanowy/bridge
Typ
Issue
Stan
Otwarty
Avatar
Projekt umarł?
Avatar
[*]
Avatar
Dominik jest zajęty, nie budź go (edited)
Avatar
Dominik Korsan musi wygrać olimpiadę
Avatar
Deleted User 09.04.2021 15:00
Jak wygra to przeznaczy pieniądze na projekt
Avatar
To niech wygra
Avatar
Avatar
Damian
Dominik Korsan musi wygrać olimpiadę
Marioneq + 09.04.2021 16:35
Jaką?
Avatar
Deleted User 09.04.2021 16:59
Informatyczną
Avatar
Możecie podesłać jakiegoś linkacza do tej olimpiady czy coś?
17:06
Chce zobaczyć co tam się dzieje
Avatar
to jest pierwsze zadanie na tej olimpiadzie
17:07
znaleźć linka do jej strony
Avatar
No ok, ale jak znajdę jak nawet nie wiem jaka to jest olimpiada?
17:11
Nie
17:11
Nie pamiętam
17:12
Tak
Avatar
Dominik Korsa 19.04.2021 23:57
OI, to się nie udało
Avatar
sadge
23:57
następnym razem będzie lepiej
Avatar
Dominik Korsa 19.04.2021 23:58
Więc teraz ograniczać w projekcie będzie mnie tylko szkoła, prokrastynacja w szkolne i prokrastynacja nad tym projektem
23:58
😄
Avatar
dawaj
Avatar
Są jakieś zadania gdzieś?
Avatar
skończysz to
Avatar
Z tego OI?
23:59
*tej
Avatar
no na stronie masz
00:00
Jeszcze nie ma zadań z finału
00:00
Ale z pierwszego i drugiego etapu są
00:01
Na pierwszy etap był jakiś miesiąc
00:01
W domu oczywiście
00:01
Etap drugi i trzeci w tym roku były zdalnie
00:01
Bo jak inaczej
00:02
A szkoda, bo zazwyczaj finał jest w Warszawie
Avatar
a ty brałeś kiedyś udział w OI? (edited)
Avatar
Dominik Korsa 20.04.2021 00:02
No teraz właśnie
Avatar
to jednak pierwszy raz
Avatar
Dominik Korsa 20.04.2021 00:02
A w poprzednich latach jeszcze w OIJ
Avatar
i wygrałeś OIJ?
Avatar
Dominik Korsa 20.04.2021 00:04
Mam finalistę
00:04
A w zeszłym roku niestety trzeciego etapu nie było
00:05
Chociaż wróć, tylko w zeszłym roku brałem udział
Avatar
ja pewnie do 3 etapu bym się nie dostał (tak zgaduję)
Avatar
Deleted User 20.04.2021 00:09
Nie przejmuj się, mi się nie udało do drugiego etapu OIJ przejść 😕
Avatar
Avatar
Dominik Korsa
Mam finalistę
finalista nie daje już czasem wejścia na większość uczelni informatycznych?
09:14
chociaż nie wiem, czy w tych warunkach nie jest tak że finalisty nie uznają
09:14
tylko laureatów
Avatar
finalista daje ci to, że zdajesz maturę na 100% z informatyki (edited)
Avatar
tak, ale oprócz tego np AGH daje ci priorytet w rekrutacji
Avatar
Dominik Korsa 28.04.2021 09:16
ale finalista z OIJ
09:16
a nie mam z OI
09:16
OIJ to podstawówki
Avatar
Avatar
stha
tak, ale oprócz tego np AGH daje ci priorytet w rekrutacji
09:17
tak naprawdę to OI daje wstęp na wszystkie kierunki
09:18
tylko, że to jest olimpiada informatyczna tylko z nazwy
09:18
ja bym to nazwał olimpiadą matematyczną z elementami informatyki
Avatar
Dominik Korsa 28.04.2021 09:18
olimpiada algorytmiczna
09:18
a konkurs tematyczny "Od algorytmu do programu" to powinien być konkurs przedmiotowy z informatyki
09:18
Ale cóż
09:18
Ja mam w szkole dodatkowy obok informatyki przedmiot algorytmika
09:19
I to jest typowo olimpijskie
09:19
I nazwa olimpiada algorytmiczna byłaby lepsza
09:19
IMO
09:19
(In My Opinion, nie International Mathematics Olympiad) (edited)
Avatar
no klasa algo zobowiązuje xd
09:20
ale prawda, od algorytmu do programu bardziej by pasował
09:20
tylko że wtedy nie byłby tak trudny
09:20
a jednak na AGH algorytmika się przydaje
Avatar
Dominik Korsa 28.04.2021 09:21
Tak szczerze algorytmika się przydaje do olimpiad
09:21
Ale nie widzę gdzie mi się przydadzą jakieś zaawansowane techniki programowania dynamicznego
09:21
W przyszłości
Avatar
bo na tym te olimpiady polegają
09:21
musisz najpierw matematyką wymyślić a potem przenieść do programu
09:22
dlatego to taka średnia olimpiada stricte informatyczna
Avatar
Dominik Korsa 28.04.2021 09:23
nie no
09:23
to co tu nazywasz matematyką
09:23
to bardziej algorytmika
09:23
a algorytmika jest generalnie dziedziną informatyki
09:24
a drugą główną dziedziną jest programowanie
Avatar
@Dominik Korsa any progress?
Avatar
Dominik Korsa 18.08.2021 17:15
0️⃣
Avatar
D:
17:15
Fajny projekt
17:15
Dałbym opcję logowania za pomocą wulkanowego-bridge w socialify
17:16
Ogólnie to muszę się wam pochwalić
17:16
Że zrobiłem już taki 2/10 moduł wiadomości na websocketach z wykorzystaniem socket.io
17:17
Wystarczy tylko wyświetlać wiadomości, szpachla tu, szpachla tam i można normalnie już pisać przez apkę
Avatar
Dominik Korsa 18.08.2021 17:17
Ale że w wulkanowym-web?
17:17
Czy niezwiązane?
Avatar
@pengwius nie ten kanał
Avatar
Avatar
mklkj
@pengwius nie ten kanał
Ten kanał, muszę go jakoś zachęcić aby kontynuował projekt
Avatar
Avatar
Dominik Korsa
Ale że w wulkanowym-web?
Aaa, bo ty nie wiesz o socialify nic
Avatar
nie ł[uó]dź się (edited)
😫 1
Avatar
Avatar
pengwius
Aaa, bo ty nie wiesz o socialify nic
Dominik Korsa 18.08.2021 17:19
no nie wiem
Avatar
Avatar
Dominik Korsa
no nie wiem
Taki większy prywatny projekt
17:21
W jego skład wchodzi apka, system operacyjny, aplikacja webowa, AI, nowoczesne crypto nie opierające się na blockchain (jeszcze nie wiem jak będzie działało, na razie jeszcze wymyślam tam scenariusz)
Avatar
Dominik Korsa 18.08.2021 17:22
🤨
Avatar
Ogólnie chce zrobić z tego taki duży ekosystem
Avatar
Wszytko i nic tak w skrócie
Avatar
Avatar
Daxxxis
Wszytko i nic tak w skrócie
Ej no
Avatar
gość nie skończył żadnego projektu to się wziął za coś czego nie da się skończyć z definicji
Avatar
Za tydzień będziesz mógł pisać ze swoimi przyjaciółmi przez apkę
17:23
O ile masz ajfona
17:23
jak masz andjojda to trochę musisz zaczekać
Avatar
Avatar
mklkj
gość nie skończył żadnego projektu to się wziął za coś czego nie da się skończyć z definicji
Ale patrz na to - jak wpadnę na nowy pomysł to nie muszę rezygnować ze starego aby zacząć go realizować, tylko podpinam go pod 1 większy projekt
Avatar
Dominik Korsa 18.08.2021 17:24
ambitne projekty są fajne
17:26
Ekhem ostatnia zmiana w kodzie wulkanowy/bridge
Avatar
Marioneq + 23.08.2021 10:32
po odpaleniu projektu mam błąd
Avatar
Deleted User 23.08.2021 12:24
Nie wyciągałbym ciała z grobu i próbował go wskrzesić na twoim miejscu
Avatar
@Dominik Korsa pomóż chłopakowi
Avatar
Dominik Korsa 23.08.2021 12:49
hmm
12:50
vueRecaptcha jest problematyczne
12:50
A zrobiłeś sobie plik .env?
12:51
Albo w jakiś inny sposób zdefiniowałeś zmienne środowiskowe?
12:51
W backendzie
12:52
A no i na frontendzie też
12:52
Nie wiem czy w ogóle gdzieś udokumentowałem te zmienne
12:53
A jak w ogóle odpalasz?
12:54
Bo tu dużo rzeczy trzeba skonfigurować w .env
12:56
Hmm też dostaję ten błąd
12:56
Co jest
12:57
12:57
Dobra ale dlaczego strona jest pusta
12:57
U mnie też
12:58
A nie
12:58
Jasne że jest pusta
12:58
Bo nie ma strony domowej jeszcze
12:58
Możesz sobie na przykład wejść tu:
12:59
Tylko zmień port na port u ciebie
12:59
Dawno nie odpalałem
12:59
xd
13:00
13:00
O fajnie
13:00
Ja też nie będę wiedział co trzeba zrobić teraz
Avatar
Dominik Korsa 23.08.2021 13:09
backend/.env .env # Server config PORT=3000 PROXY_WEBSITE=http://localhost:8080 WEBSITE_PREFIX=/ SESSION_SECRET=#Patrz https://github.com/SerayaEryn/fastify-session DATABASE_URL=#Adres MongoDB wraz z nazwą bazy danych # ReCAPTCHA CAPTCHA_SECRET= # Personal Access Token GITHUB_API_TOKEN= # OAuth2.0 GITHUB_CLIENT_ID= GITHUB_CLIENT_SECRET= GITHUB_REDIRECT_URL=http://localhost:3000/api/website/developer/github-callback
13:10
website/.env.development.local .env VUE_APP_CAPTCHA_SITE_KEY=
13:12
A jak będziesz wchodził tutaj: http://localhost:3000/api/oauth/authorize
13:13
To będą ci się błędy wyświetlały, więc może uda ci się ogarnąć o co chodzi:
13:13
13:13
Good Luck!
13:15
Taa, miałem przez wakacje porobić
13:15
No i co
13:15
A tak btw
13:15
To żeby ten projekt żył
13:15
To trzeba też popracować nad #sdk-node
13:16
Bo wulkanowy/bridge używa wulkanowy/sdk-node do łączenia się z VULCANem
Avatar
Wulkanowy bot BOT 23.08.2021 13:16
Brak opisu
Gwiazdki
4
13:16
VULCAN UONET+ JavaScript SDK
Avatar
Avatar
Dominik Korsa
A jak w ogóle odpalasz?
Marioneq + 23.08.2021 13:51
ja tylko zrobiłem w frontendzie npm i i npm run serve
Avatar
Dominik Korsa 23.08.2021 13:57
Na samym frontendzie to dużo się nie zrobi
13:57
Trzeba odpalić backend
13:57
I frontend (serve) (edited)
Avatar
Avatar
Dominik Korsa
Trzeba odpalić backend
Marioneq + 23.08.2021 13:57
a jak się odpala?
Avatar
Dominik Korsa 23.08.2021 13:58
W folderze backend
13:58
Odpalasz npm run start
13:58
Albo npm run dev, żeby samo restartowało przy zmianach
13:58
Ale musisz to wszystko z .env skonfigurować
Avatar
Marioneq + 23.08.2021 13:58
to skonfigurowane już ( chyba ) (edited)
Avatar
Dominik Korsa 23.08.2021 13:59
No i dobra, backend robi tak
13:59
Że proxuje frontend (http://localhost:8080, albo cokolwiek innego jest ustawione w PROXY_WEBSITE)
13:59
I wtedy wchodząc na URL backendu
14:00
Dostajesz interface
14:00
Dzięki temu nie trzeba się bawić z CORS
14:01
Aplikacje już można tworzyć przez stronę /developer
14:01
Ale Client ID na razie trzeba ręcznie w bazie danych
14:02
Coś takiego
14:03
jako redirect uri może być cokolwiek
14:03
ale potem jak już przeprowadzasz autoryzację OAuth2.0 to musisz dokładnie taki sam wpisać
Avatar
Avatar
Deleted User
Nie wyciągałbym ciała z grobu i próbował go wskrzesić na twoim miejscu
Marioneq + 23.08.2021 14:03
czm?
Avatar
Deleted User 23.08.2021 14:03
ciekawe to
14:03
nie mam pojęcia (edited)
14:04
ale ja bym tego projektu nie dotykał bez dokładnej znajomości js, oauth2 itp
Avatar
Dominik Korsa 23.08.2021 14:05
ja się boję teraz dotykać
14:05
chociaż dokumentację musiałbym ogarnąć
14:06
bo na razie cienko z tym
Avatar
Marioneq + 23.08.2021 14:08
C:\wulkanowy-bridge\backend>npm i added 582 packages, and audited 583 packages in 1m 13 vulnerabilities (4 moderate, 7 high, 2 critical) To address all issues, run: npm audit fix Run `npm audit` for details. C:\wulkanowy-bridge\backend>npm run start > @wulkanowy/bridge-backend@1.0.0 start > ts-node . (node:21224) [FSTDEP006] FastifyDeprecation: You are decorating Request/Reply with a reference type. This reference is shared amongst all requests. Use onRequest hook instead. Property: sessionStore (Use `node --trace-warnings ...` to show where the warning was created) (node:21224) [FSTDEP003] FastifyDeprecation: You are using the legacy Content Type Parser function signature. Use the one suggested in the documentation instead. [1629720215770] ERROR (MongoServerSelectionError/21224 on <>): connect ECONNREFUSED <> MongoServerSelectionError: connect ECONNREFUSED <> at Timeout._onTimeout (C:\wulkanowy-bridge\backend\node_modules\mongodb\lib\core\sdam\topology.js:438:30) at listOnTimeout (node:internal/timers:556:17) at processTimers (node:internal/timers:499:7) npm ERR! code 1 npm ERR! path C:\wulkanowy-bridge\backend npm ERR! command failed npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c ts-node . npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\mario\AppData\Local\npm-cache\_logs\2021-08-23T12_03_35_942Z-debug.log
Avatar
Dominik Korsa 23.08.2021 14:09
Sprawdź URL MongoDB
14:09
U mnie to jest coś takiego:
14:10
mongodb+srv://USERNAME:PASSWORD@example.com/wulkanowy-bridge-development?retryWrites=true&w=majority
14:10
Masz MongoDB lokalnie czy w jakiejś usłudze (np. MongoDB Atlas)?
Avatar
polecam użycie dockera
Avatar
Dominik Korsa 23.08.2021 14:16
Do czego?
Avatar
a wgl jest tam docker-compose.yml w projekcie?
Avatar
Avatar
Dominik Korsa
Do czego?
no do mongodb
Avatar
Dominik Korsa 23.08.2021 14:17
Hmm
Avatar
warto coś takiego mieć
14:17
bo jednym poleceniem uruchamiasz usługi zawarte w docker-compose (edited)
14:18
i przynajmniej nie męczysz się instalacją i konfiguracją
Avatar
Avatar
Dominik Korsa
Masz MongoDB lokalnie czy w jakiejś usłudze (np. MongoDB Atlas)?
Marioneq + 23.08.2021 14:19
wogóle nie wiem co to jest
Avatar
no to musisz zainstalować mongodb
Avatar
Dominik Korsa 23.08.2021 14:20
Nie wiesz co to MongoDB czy MongoDB atlas?
14:20
MongoDB to baza danych
14:20
Takia +/- JSON-owa
Avatar
Marioneq + 23.08.2021 14:22
tylko to jest płatne
Avatar
Dominik Korsa 23.08.2021 14:23
Co
Avatar
Dominik Korsa 23.08.2021 14:23
MongoDB to system baz danych
Avatar
zainstalować lokalnie to możesz
Avatar
Dominik Korsa 23.08.2021 14:23
Możesz sobie lokalnie zainstalować
Avatar
popatrzyłeś się na atlas
Avatar
Dominik Korsa 23.08.2021 14:24
A zresztą jest też Free Tier na MongoDB Atlas (czyli usłudze hostującej twoją bazę danych w "chmurze")
Avatar
Marioneq + 23.08.2021 14:26
to?
Avatar
Marioneq + 23.08.2021 14:31
pobieranko
14:32
które wybrać
Avatar
Dominik Korsa 23.08.2021 14:33
Nie wiem co tam było w Custom
14:33
Raczej complete styknie
Avatar
Marioneq + 23.08.2021 14:34
tak zostawić?
Avatar
Dominik Korsa 23.08.2021 14:34
Jest ok
Avatar
Marioneq + 23.08.2021 14:46
już zainstalowałem
Avatar
Dominik Korsa 23.08.2021 14:47
Dobra
14:47
Polecałbym od razu ogarnąć sobie coś do przeglądania tej bazy danych
14:47
Na przykład MongoDB Compass
Avatar
Marioneq + 23.08.2021 14:48
nawet chyba mam
Avatar
pewnie przy instalacji miałeś
Avatar
Dominik Korsa 23.08.2021 14:48
Okej
14:49
Chyba jak klikniesz Connect to połączy się z localhostem
Avatar
Dominik Korsa 23.08.2021 14:50
No i super
14:50
To ustaw sobie teraz w .env DATABASE_URL na mongodb+srv://localhost/NAZWA_BAZY_DANYCH?retryWrites=true&w=majority
14:51
Jakakolwiek nazwa przejdzie
14:51
Na przykład wulkanowy-bridge-dev jak u mnie
Avatar
Marioneq + 23.08.2021 14:52
już
Avatar
Dominik Korsa 23.08.2021 14:52
No to odpal
14:53
(npm run dev)
Avatar
Marioneq + 23.08.2021 14:57
i nawala w terminalu tak szybko że nawet nie daję rady przeczytać (edited)
Avatar
Dominik Korsa 23.08.2021 14:57
W konsoli czego?
Avatar
Dominik Korsa 23.08.2021 14:59
wchodziłeś na stronę w przeglądarce?
Avatar
Marioneq + 23.08.2021 14:59
tak
Avatar
Dominik Korsa 23.08.2021 14:59
A jakieś błędy są zanim wejdziesz?
15:01
I na jaki adres wchodzisz?
Avatar
Avatar
Dominik Korsa
A jakieś błędy są zanim wejdziesz?
Marioneq + 23.08.2021 15:08
> @wulkanowy/bridge-backend@1.0.0 dev > ts-node-dev . [INFO] 14:59:46 ts-node-dev ver. 1.1.1 (using ts-node ver. 9.1.1, typescript ver. 4.1.3) (node:17232) [FSTDEP006] FastifyDeprecation: You are decorating Request/Reply with a reference type. This reference is shared amongst all requests. Use onRequest hook instead. Property: sessionStore (Use `node --trace-warnings ...` to show where the warning was created) (node:17232) [FSTDEP003] FastifyDeprecation: You are using the legacy Content Type Parser function signature. Use the one suggested in the documentation instead. [1629724075953] INFO (17232 on DESKTOP-T57M0R4): Connected to database [1629724075996] INFO (17232 on DESKTOP-T57M0R4): Server listening at http://127.0.0.1:8081 [1629724075997] INFO (17232 on DESKTOP-T57M0R4): Listening on port 8081
Avatar
Dominik Korsa 23.08.2021 15:09
No to nie ma błędów
15:09
A na jakim porcie masz website/npm run serve?
Avatar
Avatar
Dominik Korsa
A na jakim porcie masz website/npm run serve?
Marioneq + 23.08.2021 15:10
8081
Avatar
Dominik Korsa 23.08.2021 15:10
Nie nie
15:10
Backend i frontend muszą być na innych portach
Avatar
Marioneq + 23.08.2021 15:10
ok
Avatar
Dominik Korsa 23.08.2021 15:11
PORT w .env to port backendu
15:11
A tutaj dajesz port strony: PROXY_WEBSITE=http://localhost:8080 (edited)
Avatar
Avatar
Marioneq +
8081
Marioneq + 23.08.2021 15:11
( dlatego że mam odpalonego wulkanowego web na 8080 )
Avatar
Dominik Korsa 23.08.2021 15:11
Rozumiem
15:12
No to odpalasz npm run serve na porcie 8081
15:12
Więc tutaj wpisujesz: PROXY_WEBSITE=http://localhost:8081
15:12
A PORT ustawiasz na jeszcze inny
15:12
I potem odpalasz npm run dev w backendzie
15:12
I na ten port wchodzisz w przeglądarce
Avatar
Marioneq + 23.08.2021 15:22
ciągle jest błąd z Recaptcha
Avatar
Dominik Korsa 23.08.2021 15:22
Normalne
15:22
A wczytuje się strona
Avatar
Marioneq + 23.08.2021 15:22
nie
Avatar
Dominik Korsa 23.08.2021 15:22
Jak wejdziesz na /developer
15:22
Nie ma strony /
Avatar
Avatar
Dominik Korsa
Jak wejdziesz na /developer
Marioneq + 23.08.2021 15:22
też nie ma
Avatar
Dominik Korsa 23.08.2021 15:22
Pokaż stronę i konsolę przeglądarki (edited)
Avatar
Dominik Korsa 23.08.2021 15:24
I jaki to URL dokładnie?
Avatar
Marioneq + 23.08.2021 15:25
http://127.0.0.1:8080/developer ale na http://127.0.0.1:8081/developer też jest to samo
Avatar
Dominik Korsa 23.08.2021 15:25
A jaki port ustawiłeś w .env w zmiennej PORT?
Avatar
Marioneq + 23.08.2021 15:26
8080
Avatar
Dominik Korsa 23.08.2021 15:26
Czyli wulkanowy-web wyłączyłeś?
Avatar
Marioneq + 23.08.2021 15:26
tak
Avatar
Dominik Korsa 23.08.2021 15:26
a czy konsola backendu coś wywala
15:27
(poza INFO)
Avatar
Dominik Korsa 23.08.2021 15:29
hmm
15:29
A co jak wejdziesz tu?
Avatar
Marioneq + 23.08.2021 15:30
to samo
Avatar
Dominik Korsa 23.08.2021 15:30
hmm
Avatar
Avatar
Dominik Korsa
hmm
Marioneq + 23.08.2021 17:38
da się ten problem rozwiązać?
Avatar
Dominik Korsa 23.08.2021 17:41
Nie wiem
17:41
Bardzo dziwne
Avatar
@Dominik Korsa any progress? tf
22:27
znalazłem tu wiadomości o socialify
22:27
mklej pisał, że z definicji projekt nie do skonczenia
22:28
a mam już w pełni działające wiadomości prywatne szyfrowane end-to-end z możliwością wysyłania obrazów i wiadomości grupowe, które aktualnie nie są jeszcze szyfrowane
22:28
teraz pracuje nad refactorem tego
22:28
chce zrobić taki podział na chanelle podobnie jak to jest tutaj, na discordzie
Avatar
Dominik Korsa 05.07.2022 22:45
Na prawdę nie musisz się chwalić :)
💚 1
Avatar
Avatar
pengwius
@Dominik Korsa any progress? tf
Dominik Korsa 05.07.2022 22:45
Jak myślisz?
Avatar
Avatar
Dominik Korsa
Jak myślisz?
myślę, że już można wystawiać na produkcję
Avatar
Marioneq + 29.10.2022 13:03
any progress?
Avatar
Marioneq + 29.10.2022 17:45
mógłbym pomóc w projekcie ale sam sdk-node, backendu i website nie ogarnę
Avatar
Marioneq + 30.10.2022 15:40
z tego co widzę to w wulkanowy/sdk-node nie działa już nic oprócz logowania więc chyba prościej będzie używać Capure/vulcan-api-js i dorobić logowanie za pomocą hasła i loginu
Avatar
Wulkanowy bot BOT 30.10.2022 15:40
VULCAN UONET+ JavaScript SDK
15:40
Unofficial Vulcan UONET+ SDK for JavaScript
Gwiazdki
12
Avatar
Marioneq + 30.10.2022 15:44
@Dominik Korsa co o tym myślisz?
Avatar
Dominik Korsa 30.10.2022 19:35
Jak dla mnie projekt jest porzucony :)
Avatar
Marioneq + 30.10.2022 20:26
spróbuję go odratować
20:27
choć będzie to trudne
20:27
i może się nie udać
20:27
trochę bawiłem się już website
20:28
i wiem że kilka rzeczy trzeba będzie zmienić i poprawić
20:31
teraz chyba jest lepiej
20:32
i tu też chyba lepiej
20:33
logowanie tylko trochę zmieniłem
20:37
dodałem weryfikację (email na który zostanie wysłana wiadomość to email przypisany do konta UONET+)
Avatar
Marioneq + 01.11.2022 16:31
zastanawiam się czy przy okazji przepisywania do vue 3 + vuetify 3 nie zrobić od razu material design 3
Avatar
Marioneq + 01.11.2022 16:44
chyba jednak nie zrobię m3 w website bo póki co to vuetify jest słabo do m3 dostosowane
Avatar
ja nie chcę nic mówić, pracuj sobie jak ci wygodnie ale myślę że lepiej byłoby zacząć od samego działania bridge, a dopiero później nad weryfikacjami i vue3
16:53
bo po co komu super ładna strona która nie działa
Avatar
Dominik Korsa 01.11.2022 16:56
W tym momencie wątpię, że to w ogóle jest bezpieczne
Avatar
dlaczego?
Avatar
Dominik Korsa 01.11.2022 16:56
Nie ufam sobie sprzed dwóch lat
Avatar
to poproś pokemona o pentesting tf
Avatar
Avatar
Dominik Korsa
Nie ufam sobie sprzed dwóch lat
Marioneq + 01.11.2022 17:07
ten backend i tak będzie przepisany
Avatar
yarn rewrite?
Avatar
Marioneq + 01.11.2022 17:08
na pewno trzeba będzie zmienić libkę bo sdk-node już nie działa
Avatar
sdk-node działa (edited)
Avatar
Marioneq + 01.11.2022 17:10
nie xD
17:11
to wykorzystuje moduł uonetplus-uzytkownik
17:11
który nie działa już
Avatar
no widzisz to moduł nie działa
Avatar
Marioneq + 01.11.2022 17:13
a więc sdk przez to nie działa
Avatar
to co, rust rewrite?
Avatar
Marioneq + 01.11.2022 17:14
zastanawiam się nad użyciem Capure/vulcan-api-js
Avatar
Wulkanowy bot BOT 01.11.2022 17:14
Unofficial Vulcan UONET+ SDK for JavaScript
Gwiazdki
13
Avatar
Marioneq + 01.11.2022 17:15
pomimo że działa tam chyba tylko plan lekcji i oceny to łatwo by było dodać tam inne rzeczy
17:16
tak wgl to aby to było bardziej bezpieczne to użytkownik nie będzie mógł sobie ustawić jakiegoś e-mail'a tylko będzie używany e-mail przypisany do konta
Avatar
Avatar
Marioneq +
zastanawiam się nad użyciem Capure/vulcan-api-js
Marioneq + 01.11.2022 17:19
użycie mobile api ma taką zaletę że nie trzeba by było przechowywać hasła użytkownika i użytkownik z poziomu dziennika mógłby samodzielnie usunąć dostęp do konta dla aplikacji
Avatar
Avatar
Marioneq +
użycie mobile api ma taką zaletę że nie trzeba by było przechowywać hasła użytkownika i użytkownik z poziomu dziennika mógłby samodzielnie usunąć dostęp do konta dla aplikacji
ale wiesz
17:21
że nie trzeba przechowywać żadnych haseł?
17:21
masz takie coś jak ciasteczka
Avatar
Marioneq + 01.11.2022 17:22
eh tylko że sesja wygasa po max 30 min bez aktywności
Avatar
jak zmienisz hasło do konta to stare ciasteczka już nie są ważne
Avatar
Marioneq + 01.11.2022 17:23
no i zaletą użycia mobile api było by jeszcze to że nie trzeba pisać totalnie nowej libki
17:24
bo wystarczy tylko zrobić logowanie i pobieranie danych do rejestracji urządzenia
Avatar
zaletą użycia mobilnego api byłoby wpisywanie pinu, symbolu i innych dupereli na każdym nowym urządzeniu
17:24
rollsafe
Avatar
Avatar
silent
zaletą użycia mobilnego api byłoby wpisywanie pinu, symbolu i innych dupereli na każdym nowym urządzeniu
Marioneq + 01.11.2022 17:25
no właśnie nie bo można zrobić małą libkę do logowania i pobierania danych do rejestracji urządzenia
17:25
rollsafe
Avatar
Avatar
Marioneq +
no właśnie nie bo można zrobić małą libkę do logowania i pobierania danych do rejestracji urządzenia
i jaki by to miało sens? xD
Avatar
Avatar
silent
i jaki by to miało sens? xD
Marioneq + 01.11.2022 17:28
user loguje się -> website wysyła request do backendu -> backend loguje się i pobiera z internetowej wersji dziennika dane do rejestracji urządzenia mobilnego -> backend rejestruje nowe urządzenie używając danych pobranych ze strony
17:29
tak jak to robi szkolny.eu czy miał robić sdk-dart
Avatar
a jak to robi wulkanowy?
Avatar
Marioneq + 01.11.2022 17:30
wulkanowy przechowuje hasło użytkownika na urządzeniu
Avatar
Marioneq + 01.11.2022 19:01
hmm według tego https://next.vuetifyjs.com/en/components/windows/#account-creation to v-card-title, v-card-subtitle i v-card-actions nie powinno znajdować się w v-window > v-window-item (edited)
The window component is a wrapper container that allows transitioning between content. It serves as the baseline for...
Avatar
Marioneq + 01.11.2022 20:51
Zastanawiam się nad scope'ami
20:51
Gdyby zrobić tak że każdy uczeń mógłby mieć inne zezwolone scop'y
20:52
np. client ma dostęp do uwag i ocen ucznia 1 oraz planu lekcji i wiadomości ucznia 2
Avatar
Marioneq + 02.11.2022 09:39
hmm oprócz zwykłych uczniów są przecież jeszcze uczniowie przedszkola i wychowankowie
09:40
i oni mają dostęp do różnych rzeczy
09:40
trzeba będzie przemyśleć to w scop'ach
Avatar
Marioneq + 02.11.2022 11:48
zastanawiam się też co zrobić z backend'em
11:49
bo nigdy nie korzystałem z express'a czy fastify
11:50
albo będzie python rewrite
11:50
albo będę musiał nauczyć się korzystania z fastify
Avatar
Avatar
Marioneq +
bo nigdy nie korzystałem z express'a czy fastify
Express
14:39
Zobacz fakeloga
Avatar
Marioneq + 05.11.2022 18:45
backend python rewrite?
👍 1
👎 8
Avatar
Marioneq + 06.11.2022 17:50
szkoda tylko że wcześniej zabrałem się za rewrite i backend jest w połowie przepisany do pythona
Avatar
@Marioneq + Ale rzeź tu odjebał koncert
18:25
Avatar
rzeź to masowy ubój zwierząt
11:33
a sam lepszy nie jesteś
Avatar
zanim usunie i zacznie kolejną kłótnie to tu zostawie
Avatar
już na telegramie narzekał
22:11
po ukryciu kontekstu oczywiście
Avatar
@Moderator można pod archive kanał
Avatar
Avatar
silent
@Moderator można pod archive kanał
Będziemy robić porządki z kanałami ogólnie (edited)
LIKE 3
Exported 932 message(s)
Timezone: UTC+1