Esempio n. 1
0
function SSOlogin($appid, $state, $uid)
{
    Check($appid, 'appid');
    if (!empty($state)) {
        Check($state, 'state');
        Check($uid, 'uid');
        $authed = CheckUserAuthed($appid, $uid);
        $appType = GetAppInfo($appid, 'app_type');
        $autoAuth = GetAppInfo($appid, 'auto_auth');
        if ($appType == 'WSC') {
            if ($authed == FALSE && $autoAuth == FALSE) {
                //用户没有授权,且应用不是自动授权,跳转到应用大厅
                if (!empty($_GET['s']) && $_GET['s'] == '1') {
                    /* 加参数跳转到精简版界面 */
                    return IAUTH_SIMPLE_AUTH_CONFIRM_PAGE . '&appsid=' . $appid . '&state=' . $state;
                }
                return URL(IAUTH_APP_INFO_PAGE) . 'appsid=' . $appid . '&state=' . $state . '&showconfirm=yes#confirm';
            }
            if ($authed == FALSE && $autoAuth == TRUE) {
                //用户没有授权,但是应用是自动授权,直接跳回应用的auth_call_back
                $authCallBack = GetAppInfo($appid, 'call_back');
                $rights = Check('2:3:7:11', 'rights');
                /* 由于没有应用大厅,权限被写死 */
                $faile_t = '2036-12-31 23:59:59';
                $verifier = newVerifier('auth', $appid, $uid, $rights, $faile_t, '', '', $state);
                accessLog('AUTH ' . $appid . ' ' . $uid . ' 2:3:7:11 ' . $faile_t . ' ' . $state);
                return URL($authCallBack) . 'verifier=' . $verifier . '&state=' . $state;
            }
            if ($authed == TRUE) {
                /* 用户已经授权,直接跳转回login_call_back */
                $loginCallBack = GetAppInfo($appid, 'login_url');
                $verifier = newVerifier('login', $appid, $uid, 'FROM_CLIENT', '', '', '', $state);
                return URL($loginCallBack) . 'verifier=' . $verifier . '&state=' . $state;
            }
        }
        /* END WSC */
    }
    /* END !EMPTY state */
    /* 其他情况,跳到应用大厅 */
    return URL(IAUTH_APP_INFO_PAGE) . 'appsid=' . $appid;
}
Esempio n. 2
0
function IAUTH_remove_API($api_id)
{
    Check($api_id, 'uid');
    SQL("DELETE FROM api_info WHERE api_id={$api_id}");
    accessLog('API(remove) ' . $api_id);
    return true;
}