Сначала я набросаю свой проект:
Для стажировки мне нужно добавить функциональность в существующую систему. Сторонний клиент должен иметь возможность доступа к данным из веб-служб AX после того, как он авторизован пользователем через OAuth2. Я понимаю, что мне нужно создать «прокси-веб-сервис», к которому клиент может совершать свои звонки и который вызывает службы AX, но я немного не уверен в части OAuth2. Большинство учебных пособий и руководств посвящены использованию идентификатора ASP.NET для входа в Facebook или Google. Мне это не нужно, мне нужно использовать существующие учетные данные, поэтому мне нужно создать свою собственную службу OAuth2.
Мне сложно найти учебные пособия, руководства или объяснения по этому поводу. Я понимаю OAuth2 и то, что нужно сделать, но я никогда раньше не делал ничего подобного, и мне трудно начать. Самое близкое к тому, что я нашел, - это ссылка на репозиторий github , но решение не создается.
Я имел в виду создание веб-сайта ASP.NET MVC, на котором клиенты (третьи стороны) могут зарегистрироваться и получить свои идентификаторы клиента. С помощью ASP.NET API я хотел создать API, который принимает необходимые токены и параметры, а затем обращается к службам Dyn AX.
Это правильно или я совершенно не прав? Любая помощь или ссылки по созданию собственного сервера / службы oauth2 были бы хороши.
Ответы:
Есть отличный пост в блоге Тайсира Джуде с подробным пошаговым описанием.
источник
Authentication
. Я могу делать все, что хочу, например, получать / размещать / помещать / удалять.Я также изо всех сил пытался найти статьи о том, как просто сгенерировать часть токена. Я так и не нашел и написал свой. Итак, если это поможет:
Что нужно сделать:
Microsoft.Owin
Microsoft.Owin.Host.SystemWeb
Microsoft.Owin.Security.OAuth
Microsoft.AspNet.Identity.Owin
startup
класс OWINЗатем создайте
index.js
файлы HTML и JavaScript ( ) со следующим содержимым:Класс OWIN
startup
должен иметь следующее содержимое:Запустите свой проект. Токен должен отображаться во всплывающем окне.
источник
Microsoft ASP.NET Identity Owin
в игру вступает? Вы используете ASP.NET Identity для аутентификации пользователя? Если нет, нужен ли этот пакет NuGet?app.UseOAuthBearerTokens(OAuthOptions);
будет работать безMicrosoft ASP.NET Identity Owin
. Он не распознает методUseOAuthBearerTokens
.Я исследую то же самое и наткнулся на сервер идентификации, который реализует OAuth и OpenID поверх ASP.NET. Он интегрируется с удостоверением ASP.NET и перезагрузкой членства с поддержкой постоянства для Entity Framework.
Итак, чтобы ответить на ваш вопрос, ознакомьтесь с их подробным документом о том, как настроить сервер OAuth и OpenID .
источник
Gmail: OAuth
Client ID
иSecret ID
. Наконец, нажмите OK, чтобы закрыть всплывающее окно учетных данных.Google API
. Щелкните Обзор на левой панели.Google API
раздел Социальные API.Это все со стороны Google.
Вернитесь в свое приложение, откройте
App_start/Startup.Auth.cs
и раскомментируйте следующий фрагментОбновите
ClientId
и,ClientSecret
используя значения изGoogle API
учетных данных, которые вы уже создали.Gmail
идентификатором.Gmail
идентификатор в базе данных вашего приложения.источник
Why punish that effort?
Возможно, SO нужен способ пометить ответ как несоответствующий вопросу OP. Или позволить пользователям предлагать переместить его к более подходящему вопросу ... или создать новый вопрос на основе ответа.