public async Task <IActionResult> Authorize(AuthorizeAddressModel model) { if (!ModelState.IsValid) { return(View("AuthError")); } var app = (await _apiService.AppInfoAsync(model.AppId)).App; var url = new Uri(model.RedirectUri); var user = await GetCurrentUserAsync(); // Wrong domain if (url.Host != app.AppDomain && app.DebugMode == false) { ModelState.AddModelError(string.Empty, "Redirect uri did not work in the valid domain!"); _logger.LogInformation($"A request with appId {model.AppId} is access wrong domain."); return(View("AuthError")); } // Signed in. App is not in force input password mode. User did not specify force input. else if (user != null && app.ForceInputPassword != true && model.ForceConfirm != true) { await _authLogger.LogAuthRecord(user.Id, HttpContext, true, app.AppId); return(await _authManager.FinishAuth(user, model, app.ForceConfirmation, app.TrustedApp)); } // Not signed in but we don't want his info else if (model.TryAutho == true) { return(Redirect($"{url.Scheme}://{url.Host}:{url.Port}/?{AuthValues.DirectShowString.Key}={AuthValues.DirectShowString.Value}")); } var viewModel = new AuthorizeViewModel(model.RedirectUri, model.State, model.AppId, app.AppName, app.IconPath, _allowRegistering, _allowPasswordSignIn); return(View(viewModel)); }
public async Task <IActionResult> Register(AuthorizeAddressModel model) { var app = (await _apiService.AppInfoAsync(model.AppId)).App; if (!ModelState.IsValid) { return(View("AuthError")); } var viewModel = new RegisterViewModel(model.RedirectUri, model.State, model.AppId, app.AppName, app.IconPath); return(View(viewModel)); }
public IActionResult Register(AuthorizeAddressModel model) { if (ModelState.IsValid) { var _viewModel = new RegisterViewModel(); _viewModel.ToRedirect = model.redirect_uri; _viewModel.State = model.state; _viewModel.AppId = model.appid; _viewModel.Scope = model.scope; _viewModel.ResponseType = model.response_type; return(View(_viewModel)); } return(View()); }
public async Task <IActionResult> Register(AuthorizeAddressModel model) { var app = (await _apiService.AppInfoAsync(model.appid)).App; if (app == null) { return(NotFound()); } if (!ModelState.IsValid) { return(View("AuthError")); } var viewModel = new RegisterViewModel(model.redirect_uri, model.state, model.appid, model.scope, model.response_type, app.AppName, app.AppIconAddress); return(View(viewModel)); }
public IActionResult Register(AuthorizeAddressModel model) { if (ModelState.IsValid) { var viewModel = new RegisterViewModel() { ToRedirect = model.redirect_uri, State = model.state, AppId = model.appid, Scope = model.scope, ResponseType = model.response_type }; return(View(viewModel)); } return(View()); }
public async Task <IActionResult> Register(AuthorizeAddressModel model) { App app; try { app = (await _apiService.AppInfoAsync(model.appid)).App; } catch (AiurUnexceptedResponse) { return(NotFound()); } if (!ModelState.IsValid) { return(View("AuthError")); } var viewModel = new RegisterViewModel(model.redirect_uri, model.state, model.appid, model.scope, model.response_type, app.AppName, app.IconPath); return(View(viewModel)); }
public async Task <IActionResult> Authorize(AuthorizeAddressModel model) { App app; try { app = (await _apiService.AppInfoAsync(model.appid)).App; } catch (AiurUnexceptedResponse) { return(NotFound()); } if (!ModelState.IsValid) { return(View("AuthError")); } var url = new Uri(model.redirect_uri); var user = await GetCurrentUserAsync(); // Wrong domain if (url.Host != app.AppDomain && app.DebugMode == false) { ModelState.AddModelError(string.Empty, "Redirect uri did not work in the valid domain!"); _logger.LogInformation($"A request with appId {model.appid} is access wrong domian."); return(View("AuthError")); } // Signed in. App is not in force input password mode. User did not specify force input. else if (user != null && app.ForceInputPassword != true && model.forceConfirm != true) { return(await FinishAuth(model.Convert(user.Email), app.ForceConfirmation)); } // Not signed in but we don't want his info else if (model.tryAutho == true) { return(Redirect($"{url.Scheme}://{url.Host}:{url.Port}/?{Values.DirectShowString.Key}={Values.DirectShowString.Value}")); } var viewModel = new AuthorizeViewModel(model.redirect_uri, model.state, model.appid, model.scope, model.response_type, app.AppName, app.AppIconAddress); return(View(viewModel)); }
public async Task <IActionResult> Authorize(AuthorizeAddressModel model) { var cuser = await GetCurrentUserAsync(); if (cuser != null) { var pack = await cuser.GeneratePack(_dbContext, model.appid); var url = AddCode(model.redirect_uri, pack.Code, model.state); return(Redirect(url)); } if (ModelState.IsValid) { var _viewModel = new AuthorizeViewModel(); _viewModel.ToRedirect = model.redirect_uri; _viewModel.State = model.state; _viewModel.AppId = model.appid; _viewModel.Scope = model.scope; _viewModel.ResponseType = model.response_type; return(View(_viewModel)); } return(View()); }
//http://localhost:62631/oauth/authorize?appid=29bf5250a6d93d47b6164ac2821d5009&redirect_uri=http%3A%2F%2Flocalhost%3A55771%2FAuth%2FAuthResult&response_type=code&scope=snsapi_base&state=http%3A%2F%2Flocalhost%3A55771%2FAuth%2FGoAuth#aiursoft_redirect public async Task <IActionResult> Authorize(AuthorizeAddressModel model) { var capp = await APIService.AppInfoAsync(model.appid); var url = new Uri(model.redirect_uri); if (url.Host != capp.AppDomain && capp.DebugMode == false) { ModelState.AddModelError(string.Empty, "Redirect uri did not work in the valid domain!"); return(View()); } var cuser = await GetCurrentUserAsync(); if (cuser != null && capp.ForceInputPassword == false && model.ForceSignInLocally == false) { return(await FinishAuth(model.Convert(cuser.Email), capp.ForceConfirmation)); } if (ModelState.IsValid) { var viewModel = new AuthorizeViewModel(model.redirect_uri, model.state, model.appid, model.scope, model.response_type, capp.AppName, capp.AppImageUrl); return(View(viewModel)); } return(View()); }