Soneta.WebApi nie umożliwia autoryzacji za pomocą klucza API, aby w komunikatach do enovy nie wpisywać użytkownika i hasła można skorzystać z przygotowanego proxy. W tym celu w appsettings.json konfigurujemy kestrel oraz podajemy adres api enovy, a następnie instalujemy usługę.
Aby wygenerować klucz do szyfrowania należy uruchomić aplikacje z parametrem --generateCrypto
Uzyskane wartości uzupełniamy w pliku appsettings.json w parametrach "IV" oraz "Key"
Aplikacja wystawia 2 endpointy:
- http://localhost:7065/api/Keys - do tworzenia kluczy, w parametrach podajemy nazwę użytkownika i hasło. Dla jednej nazwy użytkownika możemy wygenerować tylko 1 klucz. W celu ponownego wygenerowania klucza w parametrach należy dodać regenerate=true. W odpowiedzi dostajemy klucz api, który wraz z użytkownikiem i hasłem, przechowywane są w pliku keys.json (hasło jest zaszyfrowane)
- http://localhost:7065/api/MethodInvoker/InvokeServiceMethod - do wywoływania api enovy