Potrzebuję zbudować prostą aplikację internetową. Postanowiłem zrobić to z Poet (Mason2), który wykorzystuje Plack.Uwierzytelnianie i/lub HTTPS z aplikacją Plack/PSGI/Poet
Aplikacja powinna być dozwolona do użytku tylko przez uwierzytelnionych użytkowników, więc potrzebuję zbudować trochę funkcji logowania/hasła.
Istnieje już moduł Plack Plack::Middleware::Auth::Basic, który umożliwia korzystanie z podstawowego uwierzytelniania użytkownika, co umożliwia konfigurację w celu sprawdzenia, czy jest to .htpasswd
lub podobny. Ale podstawowe uwierzytelnianie nie jest bardzo bezpieczne; każdy może pobrać hasło logowania z przechwytywaniem pakietów lub tym podobne.
Tu są 2 możliwe rozwiązania:
- prowadzę app.psgi poprzez HTTPS (443) - poziom szyfrowania łącza
- lub czy jest jakiś lepszy sposób uwierzytelniania, które umożliwiają bezpieczny auth bez https?
pytania:
- Odnośnie HTTPS - nie mam pojęcia jak uruchomić mój
app.psgi
poprzez HTTPS. Czy muszę nieco zmodyfikować moją aplikację? Każdy link, który pokazuje, jak uruchomićplackup
przez https? - lub drugi: czy jest jakiś sposób (middleware/lub Perl), co pozwala mi budować bezpiecznego uwierzytelniania przez standardowy port niezaszyfrowanej (80)
Więc, co jest względne łatwy sposób uzyskać bezpieczne uwierzytelnianie za pomocą aplikacji Plack?
PS: Nie dbam o resztę komunikacji. Potrzebuję tylko bezpiecznego uwierzytelnienia, które nie pozwala na pobieranie haseł.
PPS: https jest łatwe z certyfikatem Apache (samopodpisanym). Ale nie mam pojęcia, jak to zrobić z plackup
(i lub dowolnym innym serwerem opartym na Plackach)