/ / Bezpieczne klucze API z JWT bez uwierzytelniania - javascript, node.js, express, jwt

Bezpieczne klucze APi z JWT bez uwierzytelniania - javascript, node.js, express, jwt

Czy są jakieś sposoby zabezpieczenia odpowiedzi interfejsu APIjwt lub dowolna inna metoda, ale bez uwierzytelnienia (strona logowania), aby tylko strona właściciela mogła uzyskać dostęp do interfejsu API. Wszystkie metody i samouczki, które widziałem w google, opierały się na systemie logowania z jwt.

Na przykład, jeśli mam api podobne do odpoczynku:

router.get("/api/posts", (req, res) => {
var body = ... // get some via database
res.json(body);
})

Następnie chcę to wykorzystać tylko na mojej stronie: example.com. A co najważniejsze bez uwierzytelniania (system logowania)

Odpowiedzi:

1 dla odpowiedzi № 1

Przede wszystkim każde żądanie API musi zostać zrealizowane https.

Następnie możesz "zabezpieczyć" interfejsy API specyficzne dla użytkownika przezprzyznanie każdemu użytkownikowi unikalnego tokena, który musi zostać wysłany przy każdym żądaniu. Możliwe jest również sprawdzenie hosta lub użytkownika użytkownika, który żąda interfejsu API i dopuszczenie tylko określonych niestandardowych użytkowników (w zależności od potrzeb).

Inne niż to: Jeśli potrzebujesz odpowiedzi JSON, gdy użytkownik jest zalogowany na tym samym serwerze, możesz sprawdzić, czy dany plik cookie lub sesja jest ustawiona i może być powiązana z tym konkretnym użytkownikiem.

Jeśli wykonujesz żądania serwer-serwer dla tego interfejsu API, możesz sprawdzić, czy nazwa hosta serwera jest poprawna i pasuje do tych, do których masz dostęp.

Możesz również użyć szyfrowania, aby zabezpieczyć swój interfejs APIodpowiedź (również tutaj: w zależności od twoich potrzeb). Jeśli to prawda, możesz użyć szyfrowania klucza prywatnego / publicznego, podobnie jak GPG / PGP. Oczywiście, tylko ten, kto powinien mieć dostęp do API, powinien mieć możliwość odszyfrowania odpowiedzi.

Identyfikator GUID (Globally Unique Identifier) ​​może być opcją, jeśli nie dbasz o to, czy ktoś może znaleźć ścieżkę do Twojego interfejsu API. Adresy URL GUID mogą wyglądać tak:

example.com/api/v1/c9a646d3-9c61-4cb7-bfcd-ee2522c8f633