public async Task <ActionResult> QQLogin(NewUserViewModel viewModel) { var owinContext = Request.GetOwinContext(); var identity = await owinContext.Environment.GetIdentityServerPartialLoginAsync(); if (identity == null || identity.IsAuthenticated == false) { return(new HttpUnauthorizedResult()); } var qqConnectProfile = new QQConncetProfile(identity.Claims); var newUser = new InMemoryUser { Username = viewModel.UserName ?? "Default Name", Subject = Guid.NewGuid().ToString(), Enabled = true, Provider = qqConnectProfile.Idp, ProviderId = qqConnectProfile.OpenId, Claims = new[] { new Claim(Constants.ClaimTypes.NickName, qqConnectProfile.NickName), new Claim(Constants.ClaimTypes.Picture, qqConnectProfile.AvatarUrl), } }; Users.All.Add(newUser); var resumeUrl = await owinContext.Environment.GetPartialLoginResumeUrlAsync(); return(Redirect(resumeUrl)); }
public async Task <ActionResult> QQLogin() { var owinContext = Request.GetOwinContext(); var identity = await owinContext.Environment.GetIdentityServerPartialLoginAsync(); if (identity == null || identity.IsAuthenticated == false) { return(new HttpUnauthorizedResult()); } var qqConnectProfile = new QQConncetProfile(identity.Claims); return(View(new NewUserViewModel { UserName = qqConnectProfile.NickName, AvatarUrl = qqConnectProfile.AvatarUrl })); }