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

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: 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 password;
1206 std::string auth_code;
1207 if (!args->GetString(0, &email) ||
1208 !args->GetString(1, &password) ||
1209 !args->GetString(2, &auth_code)) {
1210 NOTREACHED();
1211 return;
1212 }
1213
1214 email = gaia::SanitizeEmail(email);
1215 delegate_->SetDisplayEmail(email);
1216 delegate_->CompleteLogin(UserCredentials(email,
1217 password,
1218 auth_code));
1192 } 1219 }
1193 1220
1194 void SigninScreenHandler::HandleAuthenticateUser(const base::ListValue* args) { 1221 void SigninScreenHandler::HandleAuthenticateUser(const base::ListValue* args) {
1195 if (!delegate_) 1222 if (!delegate_)
1196 return; 1223 return;
1197 1224
1198 std::string username; 1225 std::string username;
1199 std::string password; 1226 std::string password;
1200 if (!args->GetString(0, &username) || 1227 if (!args->GetString(0, &username) ||
1201 !args->GetString(1, &password)) { 1228 !args->GetString(1, &password)) {
1202 NOTREACHED(); 1229 NOTREACHED();
1203 return; 1230 return;
1204 } 1231 }
1205 1232
1206 username = gaia::SanitizeEmail(username); 1233 username = gaia::SanitizeEmail(username);
1207 delegate_->Login(username, password); 1234 delegate_->Login(UserCredentials(username,
1235 password,
1236 std::string())); // auth_code
1208 } 1237 }
1209 1238
1210 void SigninScreenHandler::HandleLaunchDemoUser(const base::ListValue* args) { 1239 void SigninScreenHandler::HandleLaunchDemoUser(const base::ListValue* args) {
1211 if (delegate_) 1240 if (delegate_)
1212 delegate_->LoginAsRetailModeUser(); 1241 delegate_->LoginAsRetailModeUser();
1213 } 1242 }
1214 1243
1215 void SigninScreenHandler::HandleLaunchIncognito(const base::ListValue* args) { 1244 void SigninScreenHandler::HandleLaunchIncognito(const base::ListValue* args) {
1216 if (delegate_) 1245 if (delegate_)
1217 delegate_->LoginAsGuest(); 1246 delegate_->LoginAsGuest();
(...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after
1756 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PASSWORD_TOO_SHORT))); 1785 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PASSWORD_TOO_SHORT)));
1757 return; 1786 return;
1758 } 1787 }
1759 1788
1760 custodian_username = gaia::SanitizeEmail(custodian_username); 1789 custodian_username = gaia::SanitizeEmail(custodian_username);
1761 1790
1762 UserFlow* flow = 1791 UserFlow* flow =
1763 new LocallyManagedUserCreationFlow(new_user_name, new_user_password); 1792 new LocallyManagedUserCreationFlow(new_user_name, new_user_password);
1764 UserManager::Get()->SetUserFlow(custodian_username, flow); 1793 UserManager::Get()->SetUserFlow(custodian_username, flow);
1765 1794
1766 delegate_->Login(custodian_username, custodian_password); 1795 delegate_->Login(UserCredentials(custodian_username,
1796 custodian_password,
1797 std::string())); // auth_code
1767 } 1798 }
1768 1799
1769 void SigninScreenHandler::StartClearingDnsCache() { 1800 void SigninScreenHandler::StartClearingDnsCache() {
1770 if (dns_clear_task_running_ || !g_browser_process->io_thread()) 1801 if (dns_clear_task_running_ || !g_browser_process->io_thread())
1771 return; 1802 return;
1772 1803
1773 dns_cleared_ = false; 1804 dns_cleared_ = false;
1774 BrowserThread::PostTaskAndReply( 1805 BrowserThread::PostTaskAndReply(
1775 BrowserThread::IO, FROM_HERE, 1806 BrowserThread::IO, FROM_HERE,
1776 base::Bind(&ClearDnsCache, g_browser_process->io_thread()), 1807 base::Bind(&ClearDnsCache, g_browser_process->io_thread()),
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
1874 if (!cros_settings) 1905 if (!cros_settings)
1875 return false; 1906 return false;
1876 1907
1877 // Offline login is allowed only when user pods are hidden. 1908 // Offline login is allowed only when user pods are hidden.
1878 bool show_pods; 1909 bool show_pods;
1879 cros_settings->GetBoolean(kAccountsPrefShowUserNamesOnSignIn, &show_pods); 1910 cros_settings->GetBoolean(kAccountsPrefShowUserNamesOnSignIn, &show_pods);
1880 return !show_pods; 1911 return !show_pods;
1881 } 1912 }
1882 1913
1883 } // namespace chromeos 1914 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698