Проверка подлинности Azure B2C без ClientSecret - PullRequest
0 голосов
/ 08 июня 2018

Я успешно реализовал этот учебник , и клиент + сервер работает локально.

Однако созданное мной внешнее приложение - это приложение Angular - это означает, чточто невозможно сохранить в нем секрет клиента ..

Соответствующий код:

ConfidentialClientApplication cca = new ConfidentialClientApplication(Startup.ClientId, Startup.Authority, Startup.RedirectUri, new ClientCredential(Startup.ClientSecret), userTokenCache, null);

var user = cca.Users.FirstOrDefault();

AuthenticationResult result = await cca.AcquireTokenSilentAsync(scope, user, Startup.Authority, false);

HttpClient client = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, apiEndpoint);

request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken);

Как можно безопасно настроить мой интерфейс для работы без секрета клиента на основев учебнике упоминается?

В настоящее время я использую эту угловую библиотеку .

1 Ответ

0 голосов
/ 08 июня 2018

Этого можно добиться, используя поток неявных грантов

. Вы можете легко интегрироваться в любое приложение SPA.

Следуйте https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-spa,, эта статья поможет вам.

В GitHub уже есть образец SPA, вы можете попробовать https://github.com/Azure-Samples/active-directory-b2c-javascript-hellojs-singlepageapp

вы можете использовать библиотеку oidc-client вместо hello.js в приведенном выше примере, оба очень похожи и простыреализовать.

...