Exemplo n.º 1
0
        public async Task AddLoginAsync(TUser user, UserLoginInfo login, CancellationToken cancellationToken)
        {
            ThrowIfDisposed();
            cancellationToken.ThrowIfCancellationRequested();
            log.LogDebug("AddLoginAsync");

            if (user == null)
            {
                throw new ArgumentNullException("user");
            }

            Guid siteGuid = siteSettings.Id;

            if (multiTenantOptions.UseRelatedSitesMode)
            {
                siteGuid = multiTenantOptions.RelatedSiteId;
            }

            UserLogin userlogin = new UserLogin();

            userlogin.SiteId              = siteGuid;
            userlogin.UserId              = user.Id;
            userlogin.LoginProvider       = login.LoginProvider;
            userlogin.ProviderKey         = login.ProviderKey;
            userlogin.ProviderDisplayName = login.ProviderDisplayName;

            cancellationToken.ThrowIfCancellationRequested();
            await commands.CreateLogin(userlogin, cancellationToken);
        }