Заявка на добавление сервера идентификации на основе Guid, созданного в ResourceOwnerPassword Validator - PullRequest
0 голосов
/ 17 декабря 2018

Я реализую Identity Server 4, используя ASP.Net Core. Я хочу добавить утверждение на основе Guid, сгенерированного в классе ResourceOwnerPasswordValidator, который унаследован от IResourceOwnerPasswordValidator. (Заявки генерируются в классе ProfileService, который наследуется отIProfileService). Как передать аргументы между этими двумя классами.

     public Task ValidateAsync(ResourceOwnerPasswordValidationContext context)
    {
        int res = verifyUser.verify(context.UserName, context.Password, context.Request.Client.ClientId);
        if (res == 1)
        {
            context.Result.Error = "Invalid User";
            context.Result.ErrorDescription = "Email ID doesnot Resgistered";
            return Task.CompletedTask;
        }
        else if (res == 2)
        {
            context.Result.Error = "Verify Mail";
            context.Result.ErrorDescription = "Please Verify Your Mail";
            return Task.CompletedTask;
        }
        else if (res == 4)
        {
            context.Result.Error = "Invalid Password";
            context.Result.ErrorDescription = "Password Missmatch";
            return Task.CompletedTask;
        }
        else
        {
            Guid claim=verifyUser.GetGuid(context.UserName);
             //For this Guid Claim Should be added in ProfileService
            context.Result = new GrantValidationResult("", authenticationMethod: context.UserName);
            return Task.CompletedTask;
        }
    }

1 Ответ

0 голосов
/ 19 декабря 2018

Context является общим аргументом между этими двумя классами. Обновив Context (любое одно значение на основе нашего удобства) в классе ResourceOwnerPasswordValidator, мы можем использовать этот Guid в другом классе (ProfileService).

...