Приложение Windows Forms, использующее ASP.Net Web API с использованием OpenID Connect - PullRequest
0 голосов
/ 28 мая 2019

Я создаю коммуникационный проект, который состоит из 2 частей: клиента Windows Forms приложения, взаимодействующего с ASP.Net Web API (примечание: не ASP.Net Core !), Все написано на C # на .Net Framework 4.7.Используя этот клиент, пользователь может отправлять сообщения и читать их с сервера (хранилище в SQL Server).

Идея состоит в том, что пользователь может создать пользователя, используя имя пользователя + пароль или «любой» (внешний).провайдер входа в систему (например, Google, Facebook, учетная запись Microsoft, Twitter) ... и, конечно, впоследствии войдите, используя те же учетные данныеAPI предпочтительно должен принимать только вызовы от клиентского приложения.

Я хотел бы использовать OpenID Connect, но IdentityServer4 поддерживает только ASP.Net Core , тогда как это не доступно на моем хостинге.,На самом деле, я бы искал простоту чего-то вроде OpenIddict, но опять же: нет ядра ASP.Net.Для ясности: API будет доступен только из этого 1 приложения (хотя, конечно, может быть несколько одновременных экземпляров - пользователи, использующие приложение на разных компьютерах одновременно).

Итак, каковы мои вопросы?:

  1. Допускаю ли я какую-то ошибку в моих основных рассуждениях об этом проекте?
  2. Есть ли какое-либо решение для реализации OpenID Connect (кроме «использования ASP.Net Core», так как этоне вариант)?

1 Ответ

0 голосов
/ 02 июля 2019

Стоит уточнить 3 роли: * Пользовательский интерфейс - использует стандартные логины рабочего стола и получает токены * API - проверяет токены доступа * Сервер авторизации - выдает токены

Реализация идентификационной модели: * UI: и API могут использовать библиотеку IdentityModel * IdentityServer3 может использоваться для выдачи токенов

Понимание сообщений может помочь прояснить ситуацию - надеюсь, это укажет вам правильное направление: https://authguidance.com/2018/01/18/desktop-app-technical-workflow/

...