Udostępnij przez


Konfigurowanie zwrotnego serwera proxy dla aplikacji jednostronicowej, która wywołuje natywny interfejs API uwierzytelniania przy użyciu aplikacji funkcji platformy Azure (wersja zapoznawcza)

Dotyczy: Zielony okrąg z białym symbolem znacznika wyboru, który wskazuje następującą zawartość ma zastosowanie do dzierżaw zewnętrznych. Dzierżawy zewnętrzne (dowiedz się więcej)

W tym artykule dowiesz się, jak skonfigurować zwrotny serwer proxy za pomocą aplikacji Azure Functions do zarządzania nagłówkami CORS w środowisku testowym dla jednostronicowej aplikacji (SPA), która korzysta z natywnego interfejsu API uwierzytelniania.

Natywny interfejs API uwierzytelniania nie obsługuje współużytkowania zasobów między źródłami (CORS). W związku z tym jednostronicowa aplikacja korzystająca z tego interfejsu API do uwierzytelniania użytkowników nie może skutecznie wysyłać żądań z kodu JavaScript frontend. Aby rozwiązać ten problem, należy dodać serwer proxy między SPA i natywnym interfejsem API uwierzytelniania. Ten serwer proxy wprowadza odpowiednie nagłówki CORS do odpowiedzi.

To rozwiązanie jest przeznaczone do celów testowych i powinno NIE być używane w środowisku produkcyjnym. Jeśli szukasz rozwiązania do użycia w środowisku produkcyjnym, zaleciliśmy użycie rozwiązania Azure Front Door. Przeczytaj instrukcje w Używanie usługi Azure Front Door jako zwrotnego serwera proxy do zarządzania nagłówkami CORS dla SPA w środowisku produkcyjnym.

Warunki wstępne

Tworzenie reverse proxy w aplikacji funkcji Azure przy użyciu szablonu Azure Developer CLI (azd)

  1. Aby zainicjować szablon azd, uruchom następujące polecenie:

    azd init --template https://github.com/azure-samples/ms-identity-extid-cors-proxy-function
    

    Po wyświetleniu monitu wprowadź nazwę środowiska azd. Ta nazwa jest używana jako prefiks dla grupy zasobów, dlatego powinna być unikatowa w ramach subskrypcji platformy Azure.

  2. Aby zalogować się do platformy Azure, uruchom następujące polecenie:

    azd auth login
    
  3. Aby skompilować, aprowizować i wdrożyć zasoby aplikacji, uruchom następujące polecenie:

    azd up
    

    Po wyświetleniu monitu wprowadź następujące informacje, aby ukończyć tworzenie zasobów:

    • Azure Location: lokalizacja platformy Azure, w której są wdrażane zasoby.
    • Azure Subscription: Subskrypcja platformy Azure, w której są wdrażane zasoby.
    • corsAllowedOrigin: domena źródła zezwala na żądania CORS z formatu SCHEME://DOMAIN:PORT, na przykład http://localhost:3000.
    • tenantSubdomain: Domena podrzędna dzierżawy zewnętrznej, którą obsługujemy przez serwer proxy. Jeśli na przykład domena podstawowa najemcy jest contoso.onmicrosoft.com, użyj contoso. Jeśli nie masz poddomeny dzierżawy, dowiedz się, jak przeczytać szczegóły dzierżawy.

Testowanie przykładowego SPA za pomocą zwrotnego serwera proxy

  1. W przykładowym SPA otwórz plik API\React\ReactAuthSimple\src\config.ts , a następnie zastąp:

    • wartość BASE_API_URL, http://localhost:3001/api, z https://Enter_App_Function_Name_Here.azurewebsites.net.
    • zamień symbol zastępczy Enter_App_Function_Name_Here na nazwę swojej aplikacji funkcji. W razie potrzeby uruchom ponownie przykładowe SPA.
  2. Przejdź do przykładowego adresu URL SPA, a następnie przetestuj przepływy rejestracji, logowania i resetowania hasła. Aplikacja SPA powinna działać poprawnie, ponieważ serwer proxy zwrotny prawidłowo zarządza nagłówkami CORS.