GetUserTypeByName show error while implementing Azure Ad in Umbraco
Hello,
i am try to implement Azure AD in umbraco in UmbracoADAuthExtensions.cs.
i am using umbraco version="7.12.4"
i got an error in GetUserTypeByName shows error like
" Iuserservice does not contain a definition for 'IUserService' does
not contain a definition for 'GetUserTypeByName' and no accessible
extension method 'GetUserTypeByName' accepting a first argument of
type 'IUserService' could be found (are you missing a using directive
or an assembly reference?)
var writerUserType = userService.GetUserTypeByName("writer");
Can anyone please tell me what wrong ? Thank you.
var adOptions = new OpenIdConnectAuthenticationOptions
{
SignInAsAuthenticationType = Constants.Security.BackOfficeExternalAuthenticationType,
ClientId = clientId,
Authority = authority,
RedirectUri = postLoginRedirectUri,
AuthenticationMode = AuthenticationMode.Passive,
Notifications = new OpenIdConnectAuthenticationNotifications
{
AuthorizationCodeReceived = async context =>
{
var userService = ApplicationContext.Current.Services.UserService;
var email = context.JwtSecurityToken.Claims.First(x => x.Type == "email").Value;
var issuer = context.JwtSecurityToken.Claims.First(x => x.Type == "iss").Value;
var providerKey = context.JwtSecurityToken.Claims.First(x => x.Type == "sub").Value;
var name = context.JwtSecurityToken.Claims.First(x => x.Type == "name").Value;
var userManager = context.OwinContext.GetUserManager<BackOfficeUserManager>();
var user = userService.GetByEmail(email);
if (user == null)
{
var writerUserType = userService.GetUserTypeByName("writer");
user = userService.CreateUserWithIdentity(email, email, writerUserType);
}
var identity = await userManager.FindByEmailAsync(email);
if (identity.Logins.All(x => x.ProviderKey != providerKey))
{
identity.Logins.Add(new IdentityUserLogin(issuer, providerKey, user.Id));
identity.Name = name;
await userManager.UpdateAsync(identity);
}
}
}
};
//get group
var group = _userService.GetUserGroupByAlias("writer") as IReadOnlyUserGroup;
// how to add a group to user
user.AddGroup(group );
// save user
_userService.Save(user);
GetUserTypeByName show error while implementing Azure Ad in Umbraco
Hello,
i am try to implement Azure AD in umbraco in UmbracoADAuthExtensions.cs.
i am using umbraco version="7.12.4"
i got an error in GetUserTypeByName shows error like
var writerUserType = userService.GetUserTypeByName("writer");
Can anyone please tell me what wrong ? Thank you.
Hi,
You probably should have done an Umbraco version upgrade. Since version 7.7 user types have been replaced by user groups
https://umbraco.com/blog/umbraco-77-beta-beautiful-user-management-is-now-a-thing/
The method has been replaced by this:
https://github.com/umbraco/Umbraco-CMS/blob/dev-v7/src/Umbraco.Core/Services/UserService.cs#L898
Example of how to add the user to the group:
example of this post https://our.umbraco.com/forum/using-umbraco-and-getting-started/92606-how-to-add-a-group-to-a-user
Hello @MarcioGoularte
Thank you so much for Guidance. It's Help me alot :).
is working on a reply...