public async Task <IdentityDto> EnsureInGroupAsync(IRequest request, bool tryUseUserKeyAsGroupName = true) { request.OriginatorConnection = Context.ConnectionId; this.CollectClientIp(request); var enforceNotificationOfAllocatedGroup = false; if (tryUseUserKeyAsGroupName && OAuthHelper != null && !string.IsNullOrWhiteSpace(request.AccessToken)) { var user = await OAuthHelper.GetUserAsync(request.AccessToken); if (user != null) { enforceNotificationOfAllocatedGroup = string.IsNullOrWhiteSpace(request.OriginatorGroup) || !request.OriginatorGroup.Equals(user.UserReference, StringComparison.OrdinalIgnoreCase); request.OriginatorGroup = user.UserReference; request.User = user; } } request.OriginatorGroup = await JoinGroupAsync(request.OriginatorGroup, enforceNotificationOfAllocatedGroup); return(request.User); }
protected virtual void Dispatch(IRequest request) { RequestDispatchingProxy.Dispatch(request); }