public async Task <IActionResult> AuthorizeConfirm(AuthorizeConfirmAddressModel model)
        {
            var app = (await ApiService.AppInfoAsync(model.AppId)).App;

            if (app == null)
            {
                return(NotFound());
            }
            if (!ModelState.IsValid)
            {
                return(View("AuthError"));
            }
            var user = await GetCurrentUserAsync();

            var viewModel = new AuthorizeConfirmViewModel
            {
                AppName      = app.AppName,
                UserNickName = user.NickName,
                AppId        = model.AppId,
                ToRedirect   = model.ToRedirect,
                State        = model.State,
                Scope        = model.Scope,
                ResponseType = model.ResponseType,
                UserIcon     = user.HeadImgUrl,
                // Permissions
                ViewOpenId        = app.ViewOpenId,
                ViewPhoneNumber   = app.ViewPhoneNumber,
                ChangePhoneNumber = app.ChangePhoneNumber,
                ConfirmEmail      = app.ConfirmEmail,
                ChangeBasicInfo   = app.ChangeBasicInfo,
                ChangePassword    = app.ChangePassword
            };

            return(View(viewModel));
        }
Exemple #2
0
        public async Task <IActionResult> AuthorizeConfirm(FinishAuthInfo model)
        {
            if (!ModelState.IsValid)
            {
                return(View("AuthError"));
            }
            var app  = (await _apiService.AppInfoAsync(model.AppId)).App;
            var user = await GetCurrentUserAsync();

            var viewModel = new AuthorizeConfirmViewModel
            {
                AppName      = app.AppName,
                UserNickName = user.NickName,
                AppId        = model.AppId,
                RedirectUri  = model.RedirectUri,
                FailBackUrl  = app.AppFailCallbackUrl,
                State        = model.State,
                // Permissions
                ViewOpenId          = app.ViewOpenId,
                ViewPhoneNumber     = app.ViewPhoneNumber,
                ChangePhoneNumber   = app.ChangePhoneNumber,
                ConfirmEmail        = app.ConfirmEmail,
                ChangeBasicInfo     = app.ChangeBasicInfo,
                ChangePassword      = app.ChangePassword,
                ChangeGrantInfo     = app.ChangeGrantInfo,
                ViewAuditLog        = app.ViewAuditLog,
                TermsUrl            = app.LicenseUrl,
                PStatementUrl       = app.PrivacyStatementUrl,
                ManageSocialAccount = app.ManageSocialAccount
            };

            return(View(viewModel));
        }
Exemple #3
0
        public async Task <IActionResult> AuthorizeConfirm(AuthorizeConfirmViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var user = await GetCurrentUserAsync();

            await _authManager.GrantTargetApp(user, model.AppId);

            return(await _authManager.FinishAuth(user, model, false, false));
        }
        public async Task <IActionResult> AuthorizeConfirm(AuthorizeConfirmViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var user = await GetCurrentUserAsync();

            model.Email = user.Email;
            await user.GrantTargetApp(_dbContext, model.AppId);

            return(await FinishAuth(model));
        }
Exemple #5
0
        public async Task <IActionResult> AuthorizeConfirm(AuthorizeConfirmViewModel model)
        {
            var cuser = await GetCurrentUserAsync();

            if (ModelState.IsValid && cuser != null)
            {
                model.Email = cuser.Email;
                await cuser.GrantTargetApp(_dbContext, model.AppId);

                return(await FinishAuth(model));
            }
            return(View(model));
        }
        public async Task <IActionResult> AuthorizeConfirm(AuthorizeConfirmAddressModel model)
        {
            App app;

            try
            {
                app = (await _apiService.AppInfoAsync(model.AppId)).App;
            }
            catch (AiurUnexceptedResponse)
            {
                return(NotFound());
            }
            if (!ModelState.IsValid)
            {
                return(View("AuthError"));
            }
            var user = await GetCurrentUserAsync();

            var viewModel = new AuthorizeConfirmViewModel
            {
                AppName      = app.AppName,
                UserNickName = user.NickName,
                AppId        = model.AppId,
                ToRedirect   = model.ToRedirect,
                State        = model.State,
                Scope        = model.Scope,
                ResponseType = model.ResponseType,
                UserIconId   = user.HeadImgFileKey,
                // Permissions
                ViewOpenId        = app.ViewOpenId,
                ViewPhoneNumber   = app.ViewPhoneNumber,
                ChangePhoneNumber = app.ChangePhoneNumber,
                ConfirmEmail      = app.ConfirmEmail,
                ChangeBasicInfo   = app.ChangeBasicInfo,
                ChangePassword    = app.ChangePassword,
                TermsUrl          = app.LicenseUrl,
                PStatementUrl     = app.PrivacyStatementUrl
            };

            return(View(viewModel));
        }
Exemple #7
0
        public async Task <IActionResult> AuthorizeConfirm(AuthorizeConfirmAddressModel model)
        {
            var cuser = await GetCurrentUserAsync();

            if (ModelState.IsValid && cuser != null)
            {
                var capp = await APIService.AppInfoAsync(model.AppId);

                var viewModel = new AuthorizeConfirmViewModel
                {
                    AppName      = capp.AppName,
                    UserNickName = cuser.NickName,
                    AppId        = model.AppId,
                    ToRedirect   = model.ToRedirect,
                    State        = model.State,
                    Scope        = model.Scope,
                    ResponseType = model.ResponseType,
                    UserIcon     = cuser.HeadImgUrl,
                };
                return(View(viewModel));
            }
            return(View());
        }