Beispiel #1
0
        public virtual async Task <IList <UserLoginInfo> > GetLoginsAsync(TUser user)
        {
            Contract.Requires(user != null, "Given user must be a non-null reference");
            Contract.Ensures(Contract.Result <Task <IList <UserLoginInfo> > >() != null);

            // for example: /users/{userId}/logins
            HttpResponseMessage response = await HttpClient.GetAsync
                                           (
                UserLoginStoreResourceUri.Replace("{userId}", ((IIdentityUser)user).Id)
                                           );

            return(await response.Content.ReadAsAsync <IList <UserLoginInfo> >());
        }
Beispiel #2
0
        public virtual Task AddLoginAsync(TUser user, UserLoginInfo login)
        {
            Contract.Requires(user != null, "Given user must be a non-null reference");
            Contract.Requires(login != null, "Given login must be a non-null reference");
            Contract.Ensures(Contract.Result <Task>() != null);

            // for example: /users/{userId}/logins
            return(HttpClient.PostAsJsonAsync
                   (
                       UserLoginStoreResourceUri.Replace("{userId}", ((IIdentityUser)user).Id),
                       login
                   ));
        }
Beispiel #3
0
        public virtual Task RemoveLoginAsync(TUser user, UserLoginInfo login)
        {
            Contract.Requires(user != null, "Given user must be a non-null reference");
            Contract.Requires(login != null, "Given login must be a non-null reference");
            Contract.Ensures(Contract.Result <Task>() != null);

            // for example: /users/{userId}/logins/{providerKey}
            HttpRequestMessage request = new HttpRequestMessage
                                         (
                HttpMethod.Delete,
                $"{UserLoginStoreResourceUri.Replace("{userId}", ((IIdentityUser)user).Id)}/{login.ProviderKey}"
                                         );

            return(HttpClient.SendAsync(request));
        }