Osclass Social Login May 2026
osc_redirect_to(osc_user_dashboard_url()); } catch(Exception $e) { osc_redirect_to(osc_user_login_url()); } ?> <div class="social-login-buttons"> <a href="https://www.facebook.com/v12.0/dialog/oauth? client_id=<?php echo FB_APP_ID; ?>& redirect_uri=<?php echo urlencode(osc_base_url() . 'social-login/fb-callback.php'); ?>& scope=email,public_profile" class="btn-fb"> Login with Facebook </a> <a href="https://accounts.google.com/o/oauth2/v2/auth? client_id=<?php echo GOOGLE_CLIENT_ID; ?>& redirect_uri=<?php echo urlencode(osc_base_url() . 'social-login/google-callback.php'); ?>& response_type=code& scope=email profile" class="btn-google"> Login with Google </a> </div>
$fb = new Facebook\Facebook($fb_config); $helper = $fb->getRedirectLoginHelper(); osclass social login
private static function doLogin($user_id) { $user = User::newInstance()->findByPrimaryKey($user_id); Session::newInstance()->_set('userId', $user['pk_i_id']); Session::newInstance()->_set('userName', $user['s_name']); Session::newInstance()->_set('userEmail', $user['s_email']); Session::newInstance()->_set('b_moderator', $user['b_moderator']); Session::newInstance()->_set('b_admin', $user['b_admin']); } } ?> <?php require_once '../oc-load.php'; require_once '../oc-includes/osclass/helpers/hSocialLogin.php'; $fb_config = array( 'app_id' => 'YOUR_FB_APP_ID', 'app_secret' => 'YOUR_FB_APP_SECRET', ); client_id=<
SocialLogin::loginOrRegister( $user['id'], 'fb', $user['name'], $user['email'] ); update(array( $social_network . '_id' =>
try { $access_token = $helper->getAccessToken(); $response = $fb->get('/me?fields=id,name,email', $access_token); $user = $response->getGraphUser();
ALTER TABLE `oc_t_user` ADD COLUMN `fb_id` VARCHAR(100) NULL; ALTER TABLE `oc_t_user` ADD COLUMN `google_id` VARCHAR(100) NULL; 2. Social Login Helper ( oc-includes/osclass/helpers/hSocialLogin.php ) <?php class SocialLogin { public static function loginOrRegister($social_id, $social_network, $name, $email) { $user = User::newInstance()->findByPrimaryKey($social_id, $social_network . '_id'); if($user) { // Login existing user self::doLogin($user['pk_i_id']); return true; } // Check if email exists $existing = User::newInstance()->findByEmail($email); if($existing) { // Link social account User::newInstance()->update(array( $social_network . '_id' => $social_id ), array('pk_i_id' => $existing['pk_i_id'])); self::doLogin($existing['pk_i_id']); return true; } // Register new user $secret = osc_genRandomPassword(); $password = sha1($secret); $user_data = array( 's_name' => $name, 's_email' => $email, 's_secret' => $secret, 's_password' => $password, 'dt_reg_date' => date('Y-m-d H:i:s'), 'b_enabled' => 1, 'b_active' => 1, $social_network . '_id' => $social_id ); $user_id = User::newInstance()->insert($user_data); self::doLogin($user_id); return true; }