Я давний разработчик .NET Framework / WebForms и перехожу на Core (2.1) для нового проекта.У меня есть готовые основы, с решением VS, включающим проект DAL и проект веб-приложения (в MVC).Я использую Core Identity, и добавил по-умолчанию файлы идентификации личности.Все нормально, с регистрацией / аутентификацией в Facebook.Пока что я не совсем понимаю, как работает схема аутентификации, но я начинаю собирать ее воедино.
Одна вещь, которая мне достается - и что-то, чего я не могу найтилюбая понятная и понятная документация - это то, как обрабатывать данные о претензиях, поступающие из FacebookЯ получаю, что все, что вы запрашиваете, в настройке для метода AddAuthentication()
, сохраняется в cookie-файле клиента, и вы можете получить его таким образом.Но я хочу продолжить и сохранить эту информацию в таблице IdentityClaims
.
В Startup.cs у меня есть AddAuthentication()
, настроенная так:
services.AddAuthentication().AddFacebook(options =>
{
options.AppId = "XXXXXXXXXX";
options.AppSecret = "XXXXXXXXXX";
options.SaveTokens = true;
options.Scope.Add("public_profile");
options.Scope.Add("email");
options.Fields.Add("name");
options.ClaimActions.MapJsonKey(ClaimTypes.Name, "name");
});
Честно говоря, я не совсем знаю, правильно ли я настроил эту систему, чтобы запросить требование "имя", которое будет включено в запрос ... Но даже если это так, я должен признать, что яна самом деле не знаю, что с этим делать, послесловия.
Я предполагаю, что что-то должно произойти в методе OnPostConfirmationAsync()
файла ExternalLogin.cshtml.cs
, в папке \ Identity \ Pages \ Account,Вероятно, что-то вроде:
UserManager.AddClaimAsync(user, ...something...);
Но я действительно не знаю, и кажется, что должен быть лучший путь.Например: есть ли способ настроить параметры таким образом, чтобы при вызове метода UserManager.CreateAsync () автоматически сохранялись и утверждения?
Это все очень элементарные вопросы, и я разочарован тем, что не былв состоянии видеть это ясно.Все, что мне нужно, это хороший пример для работы, и я уверен, что получу его.Пока что все остальное кажется довольно простым.