Miałem nadzieję uzyskać pewne zalecenia dotyczące podejścia do przekierowywania użytkowników z HTTP do HTTPS przy użyciu inicjalizatora ember z ember-simple-auth.Przekierowanie z HTTP do HTTPS w/Simple Auth
`import ENV from 'cio/config/environment'`
SSLInitializer =
name: 'ssl'
before: 'simple-auth-cookie-store'
initialize: (container, application) ->
application.deferReadiness()
# Redirect if hitting HTTP and SSL is enabled
if ENV.SSL and window.location.protocol is "http:"
window.location.href = "https:" + window.location.href.substring(window.location.protocol.length)
return false
application.advanceReadiness()
`export default SSLInitializer`
Wygląda jednak na to, że plik cookie zostaje unieważniony, nawet jeśli wyrażenie if jest prawdziwe. Próbowałem kilka rzeczy, w tym:
- wcześniej: 'simple-auth'
- wcześniej: 'sklepu'
- application.destroy() wewnątrz if, przed window.location.href jest ustawiony:
Z tego, co mogę powiedzieć, po debugowaniu. Aplikacja przekierowuje do HTTPS, ale wtedy plik cookieName nie znajduje się w pliku document.cookie. (https://github.com/simplabs/ember-simple-auth/blob/master/packages/ember-simple-auth-cookie-store/lib/simple-auth-cookie-store/stores/cookie.js#L154)
Zanim ta metoda zadziałała, ponieważ mieliśmy prosty fragment w index.html, ale w/CSP chcielibyśmy zachować go w inicjalizatorze. Wszelkie zalecenia?
Dzięki!
Dlaczego chcesz to zrobić w inicjalizatorze, a nie w serwerze? Nie wiadomo, czy korzystasz z autoryzacji, ale jeśli nie jesteś, serwer nie może odpowiadać na żadne żądania niezwiązane z HTTPS. – marcoow
Wszystkie zasoby są dostarczane w CDN z różnymi usługami AWS (S3, Route53, etc ...), więc nie mamy tak naprawdę konfiguracji nginx lub apache, której możemy użyć. – alvincrespo
Tak, interfejs użytkownika po prostu komunikuje się z interfejsem API, więc hostowanie zasobów frontendu odbywa się właśnie za pośrednictwem CDN. – alvincrespo