Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(66)

Side by Side Diff: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc

Issue 12704002: Support for auth code based authentication flow for both app and web UI driven flow. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" 5 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 770 matching lines...) Expand 10 before | Expand all | Expand 10 after
781 return NULL; 781 return NULL;
782 } 782 }
783 783
784 void SigninScreenHandler::RegisterMessages() { 784 void SigninScreenHandler::RegisterMessages() {
785 web_ui()->RegisterMessageCallback("authenticateUser", 785 web_ui()->RegisterMessageCallback("authenticateUser",
786 base::Bind(&SigninScreenHandler::HandleAuthenticateUser, 786 base::Bind(&SigninScreenHandler::HandleAuthenticateUser,
787 base::Unretained(this))); 787 base::Unretained(this)));
788 web_ui()->RegisterMessageCallback("completeLogin", 788 web_ui()->RegisterMessageCallback("completeLogin",
789 base::Bind(&SigninScreenHandler::HandleCompleteLogin, 789 base::Bind(&SigninScreenHandler::HandleCompleteLogin,
790 base::Unretained(this))); 790 base::Unretained(this)));
791 web_ui()->RegisterMessageCallback("completeAuthentication",
792 base::Bind(&SigninScreenHandler::HandleCompleteAuthentication,
793 base::Unretained(this)));
791 web_ui()->RegisterMessageCallback("getUsers", 794 web_ui()->RegisterMessageCallback("getUsers",
792 base::Bind(&SigninScreenHandler::HandleGetUsers, 795 base::Bind(&SigninScreenHandler::HandleGetUsers,
793 base::Unretained(this))); 796 base::Unretained(this)));
794 web_ui()->RegisterMessageCallback("launchDemoUser", 797 web_ui()->RegisterMessageCallback("launchDemoUser",
795 base::Bind(&SigninScreenHandler::HandleLaunchDemoUser, 798 base::Bind(&SigninScreenHandler::HandleLaunchDemoUser,
796 base::Unretained(this))); 799 base::Unretained(this)));
797 web_ui()->RegisterMessageCallback("launchIncognito", 800 web_ui()->RegisterMessageCallback("launchIncognito",
798 base::Bind(&SigninScreenHandler::HandleLaunchIncognito, 801 base::Bind(&SigninScreenHandler::HandleLaunchIncognito,
799 base::Unretained(this))); 802 base::Unretained(this)));
800 web_ui()->RegisterMessageCallback("showLocallyManagedUserCreationScreen", 803 web_ui()->RegisterMessageCallback("showLocallyManagedUserCreationScreen",
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
1181 std::string typed_email; 1184 std::string typed_email;
1182 std::string password; 1185 std::string password;
1183 if (!args->GetString(0, &typed_email) || 1186 if (!args->GetString(0, &typed_email) ||
1184 !args->GetString(1, &password)) { 1187 !args->GetString(1, &password)) {
1185 NOTREACHED(); 1188 NOTREACHED();
1186 return; 1189 return;
1187 } 1190 }
1188 1191
1189 typed_email = gaia::SanitizeEmail(typed_email); 1192 typed_email = gaia::SanitizeEmail(typed_email);
1190 delegate_->SetDisplayEmail(typed_email); 1193 delegate_->SetDisplayEmail(typed_email);
1191 delegate_->CompleteLogin(typed_email, password); 1194 delegate_->CompleteLogin(UserCredentials(typed_email,
1195 password,
1196 std::string())); // auth_code
1197 }
1198
1199 void SigninScreenHandler::HandleCompleteAuthentication(
1200 const base::ListValue* args) {
1201 if (!delegate_)
1202 return;
1203
1204 std::string email;
1205 std::string auth_code;
1206 if (!args->GetString(0, &email) ||
1207 !args->GetString(1, &auth_code)) {
1208 NOTREACHED();
1209 return;
1210 }
1211
1212 email = gaia::SanitizeEmail(email);
1213 delegate_->SetDisplayEmail(email);
1214 delegate_->CompleteLogin(UserCredentials(email,
1215 std::string(),
1216 auth_code));
1192 } 1217 }
1193 1218
1194 void SigninScreenHandler::HandleAuthenticateUser(const base::ListValue* args) { 1219 void SigninScreenHandler::HandleAuthenticateUser(const base::ListValue* args) {
1195 if (!delegate_) 1220 if (!delegate_)
1196 return; 1221 return;
1197 1222
1198 std::string username; 1223 std::string username;
1199 std::string password; 1224 std::string password;
1200 if (!args->GetString(0, &username) || 1225 if (!args->GetString(0, &username) ||
1201 !args->GetString(1, &password)) { 1226 !args->GetString(1, &password)) {
1202 NOTREACHED(); 1227 NOTREACHED();
1203 return; 1228 return;
1204 } 1229 }
1205 1230
1206 username = gaia::SanitizeEmail(username); 1231 username = gaia::SanitizeEmail(username);
1207 delegate_->Login(username, password); 1232 delegate_->Login(UserCredentials(username,
1233 password,
1234 std::string())); // auth_code
1208 } 1235 }
1209 1236
1210 void SigninScreenHandler::HandleLaunchDemoUser(const base::ListValue* args) { 1237 void SigninScreenHandler::HandleLaunchDemoUser(const base::ListValue* args) {
1211 if (delegate_) 1238 if (delegate_)
1212 delegate_->LoginAsRetailModeUser(); 1239 delegate_->LoginAsRetailModeUser();
1213 } 1240 }
1214 1241
1215 void SigninScreenHandler::HandleLaunchIncognito(const base::ListValue* args) { 1242 void SigninScreenHandler::HandleLaunchIncognito(const base::ListValue* args) {
1216 if (delegate_) 1243 if (delegate_)
1217 delegate_->LoginAsGuest(); 1244 delegate_->LoginAsGuest();
(...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after
1756 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PASSWORD_TOO_SHORT))); 1783 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PASSWORD_TOO_SHORT)));
1757 return; 1784 return;
1758 } 1785 }
1759 1786
1760 custodian_username = gaia::SanitizeEmail(custodian_username); 1787 custodian_username = gaia::SanitizeEmail(custodian_username);
1761 1788
1762 UserFlow* flow = 1789 UserFlow* flow =
1763 new LocallyManagedUserCreationFlow(new_user_name, new_user_password); 1790 new LocallyManagedUserCreationFlow(new_user_name, new_user_password);
1764 UserManager::Get()->SetUserFlow(custodian_username, flow); 1791 UserManager::Get()->SetUserFlow(custodian_username, flow);
1765 1792
1766 delegate_->Login(custodian_username, custodian_password); 1793 delegate_->Login(UserCredentials(custodian_username,
1794 custodian_password,
1795 std::string())); // auth_code
1767 } 1796 }
1768 1797
1769 void SigninScreenHandler::StartClearingDnsCache() { 1798 void SigninScreenHandler::StartClearingDnsCache() {
1770 if (dns_clear_task_running_ || !g_browser_process->io_thread()) 1799 if (dns_clear_task_running_ || !g_browser_process->io_thread())
1771 return; 1800 return;
1772 1801
1773 dns_cleared_ = false; 1802 dns_cleared_ = false;
1774 BrowserThread::PostTaskAndReply( 1803 BrowserThread::PostTaskAndReply(
1775 BrowserThread::IO, FROM_HERE, 1804 BrowserThread::IO, FROM_HERE,
1776 base::Bind(&ClearDnsCache, g_browser_process->io_thread()), 1805 base::Bind(&ClearDnsCache, g_browser_process->io_thread()),
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
1874 if (!cros_settings) 1903 if (!cros_settings)
1875 return false; 1904 return false;
1876 1905
1877 // Offline login is allowed only when user pods are hidden. 1906 // Offline login is allowed only when user pods are hidden.
1878 bool show_pods; 1907 bool show_pods;
1879 cros_settings->GetBoolean(kAccountsPrefShowUserNamesOnSignIn, &show_pods); 1908 cros_settings->GetBoolean(kAccountsPrefShowUserNamesOnSignIn, &show_pods);
1880 return !show_pods; 1909 return !show_pods;
1881 } 1910 }
1882 1911
1883 } // namespace chromeos 1912 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698