public HomeController(ILogger <HomeController> logger, UserManager <IdentityUser> um, ApplicationDbContext db, InviteManager im, SignalRMessenger srm) { _logger = logger; _um = um; _db = db; _im = im; _Msgr = srm; }
public RegisterModel(SignInManager <IdentityUser> signInManager, UserManager <IdentityUser> userManager, ILogger <RegisterModel> logger, IEmailSender emailSender, InviteManager identityManager) { _signInManager = signInManager; _userManager = userManager; _logger = logger; _emailSender = emailSender; this.inviteManager = identityManager; }
private async Task OnClientReady() { await InviteManager.BootUp(_client); Console.WriteLine("Ready"); _client.Log -= Log; }
private static ClaimsIdentity TransformClaims(ClaimsIdentity ident) { var issuer = ident.Claims.First().Issuer; ident.AddClaim(new Claim(CustomClaimTypes.AuthType, AuthTypes.Local)); if (!ident.HasClaim(ClaimTypes.Email)) { var name = ident.GetClaim(ClaimTypes.Name); if (name.IndexOf("@") > -1) { ident.AddClaim(new Claim(ClaimTypes.Email, name)); } else { var upn = ident.GetClaim(ClaimTypes.Upn); if (upn.IndexOf("@") > -1) { ident.AddClaim(new Claim(ClaimTypes.Email, upn)); } } } var response = InviteManager.GetDirectoryRoles(ident.GetClaim(CustomClaimTypes.ObjectIdentifier)); if (response.Successful) { foreach (var role in response.Roles) { switch (role.Type) { case "#microsoft.graph.directoryRole": ident.AddClaim(new Claim(ClaimTypes.Role, role.DisplayName)); break; case "#microsoft.graph.group": ident.AddClaim(new Claim(CustomClaimTypes.MemberOfGroup, JsonConvert.SerializeObject(new GroupObject(role.DisplayName, role.Id)))); break; } } } else { Logging.WriteToAppLog("Error retrieving app roles", EventLogEntryType.Error, new Exception(response.ErrorMessage)); } var fullName = ident.Claims.FirstOrDefault(c => c.Type == "name").Value; ident.AddClaim(new Claim(CustomClaimTypes.FullName, fullName)); return(ident); }
// This function will get triggered/executed when a new message is written // on an Azure Queue called invitations. public static void ProcessUserQueue([QueueTrigger("%queueName%")] BatchQueueItem batch, IBinder binder) { try { var mgr = new InviteManager(batch); BulkInviteResults res; var task = Task.Run(async() => { res = await mgr.BulkInvitations(batch.BulkInviteSubmissionId); }); task.Wait(); } catch (Exception ex) { Logging.WriteToAppLog(String.Format("Error processing queue '{0}'", StorageRepo.QueueName), System.Diagnostics.EventLogEntryType.Error, ex); throw; } }
public static async Task <GuestRequest> ExecuteDispositionAsync(GuestRequest request, string approver, string profileUrl, PreAuthDomain domainSettings = null) { request.AuthUser = approver; request.LastModDate = DateTime.UtcNow; if (request.Disposition == Disposition.Approved || request.Disposition == Disposition.AutoApproved) { //INVITE (request updated internally) var mgr = new InviteManager(profileUrl, null); request = await mgr.ProcessInvitationAsync(request, domainSettings); } else if (request.Disposition == Disposition.Denied) { //UPDATE GuestRequest to set denied status request = await UpdateAsync(request); } return(request); }
public static async Task <GuestRequest> ExecuteDispositionAsync(GuestRequest request, string approver, string profileUrl, PreAuthDomain domainSettings = null) { request.AuthUser = approver; request.LastModDate = DateTime.UtcNow; if (request.Disposition == Disposition.Approved || request.Disposition == Disposition.AutoApproved) { //INVITE request.Status = await InviteManager.SendInvitation(request, profileUrl, domainSettings); if (request.Status.Substring(0, 5) == "Error") { request.Disposition = Disposition.Pending; } } //UPDATE await DocDBRepo.DB <GuestRequest> .UpdateItemAsync(request); return(request); }
public void AddInvitation_Test() { InviteManager i = new InviteManager(); i.AddInvitation <GameInvitation>("i1", "r1"); //add 1 a i.AddInvitation <ChatInvitation>("i1", "r1"); //add 1 b i.AddInvitation <ChatInvitation>("i1", "r1"); //idempotence test Assert.AreEqual(2, i.Invitations.Count); i.AddInvitation <GameInvitation>("i2", "r2");//add 2 a Assert.AreEqual(3, i.Invitations.Count); i.RemoveInvitation <GameInvitation>("i1", "r1");//remove 1 a bool res = i.IsInvitationSent <GameInvitation>("i1", "r1"); bool res2 = i.IsInvitationSent <ChatInvitation>("i1", "r1"); Assert.IsFalse(res); Assert.IsTrue(res2); }
private static ClaimsIdentity TransformClaims(ClaimsIdentity ident) { var issuer = ident.Claims.First().Issuer; ident.AddClaim(new Claim(CustomClaimTypes.AuthType, AuthTypes.Local)); if (!ident.HasClaim(ClaimTypes.Email)) { var name = ident.GetClaim(ClaimTypes.Name); if (name.IndexOf("@") > -1) { ident.AddClaim(new Claim(ClaimTypes.Email, name)); } else { var upn = ident.GetClaim(ClaimTypes.Upn); if (upn.IndexOf("@") > -1) { ident.AddClaim(new Claim(ClaimTypes.Email, upn)); } } } var roles = InviteManager.GetDirectoryRoles(ident.GetClaim(CustomClaimTypes.ObjectIdentifier)); foreach (var role in roles) { ident.AddClaim(new Claim(ClaimTypes.Role, role.DisplayName)); } var fullName = ident.Claims.FirstOrDefault(c => c.Type == "name").Value; ident.AddClaim(new Claim(CustomClaimTypes.FullName, fullName)); return(ident); }
public static async Task <GuestRequest> ExecuteDispositionAsync(GuestRequest request, string approver, string profileUrl, PreAuthDomain domainSettings = null) { request.AuthUser = approver; request.LastModDate = DateTime.UtcNow; if (request.Disposition == Disposition.Approved || request.Disposition == Disposition.AutoApproved) { //INVITE var mgr = new InviteManager(profileUrl, null); var res = await mgr.ProcessInvitationAsync(request, domainSettings); request.Status = res.Status; if (request.Status.Substring(0, 5) == "Error") { request.Disposition = Disposition.Pending; } request.InvitationResult = res; } //UPDATE await DocDBRepo.DB <GuestRequest> .UpdateItemAsync(request); return(request); }
public IndexModel(ApplicationDbContext applicationContext, InviteManager inviteManager) { this.applicationContext = applicationContext; this.inviteManager = inviteManager; }
private async Task OnUserJoined(SocketGuildUser user) { await InviteManager.NewUserJoined(user); }