php - XERO API 的快速认证技术有哪些?

标签 php oauth openssl

应用程序如何检查用户是否拥有正确的 key ?证书并根据 xero api 中的要求验证这些要求?我当前的算法仅检查与 api 进行初始连接所需的可访问性,但不一定检查信息是否有效。

//check for files/keys before running xero
function provideXeroConnection($request = 'xml'){
    //validate everything is inplace
    if(validateXeroAuth()){
        //if it is then bubble the object up to (XeroAc & JSONEngine or XMLEngine)
        return new Xero(XeroAuths::getSetting('xero_consumer'), XeroAuths::getSetting('xero_secret'), XERO_PUBLIC_KEY_PATH, XERO_PRIVATE_KEY_PATH, $request );
    } else return false;
/*
* @TODO validate xero authentication
*/
function validateXeroAuth(){
    $xero_key = XeroAuths::getSetting('xero_consumer');
    $xero_secret = XeroAuths::getSetting('xero_secret');
    if(file_exists(XERO_PUBLIC_KEY_PATH) && file_exists(XERO_PRIVATE_KEY_PATH)){
        if(validateValue($xero_key) && validateValue($xero_secret)){
            return true; //feature not completely implemented @TODO
        } else return false;
    } else return false;
}
//validate the value for xero
function validateValue($value){
    if(isset($value)){
        if(!is_null($value)){
            if(!empty($value)){
                return true;
            } else return false;
        } else return false;
    } else return false;
}

使用的脚本是开源的,可以在 github here 上找到。 。我还阅读了脚本 here 的示例实现。但我还没有真正找到任何可以快速验证的东西。

我问这个的原因..是我更愿意在几秒钟而不是几分钟内对我的用户 key 和证书进行身份验证(给出并获取必须收到多少发票或联系信息)。任何有关这个问题的帮助将不胜感激! :)

最佳答案

对您问题的快速回答是执行 GET Organization 调用 - 如果失败并返回 401,您就知道自己做错了什么。

长答案是:如果您要让用户进行身份验证,您确定应该使用私有(private) API 应用程序吗?还有其他应用程序类型可能更适合这种情况(我做了一些假设,所以我可能是错的)。这可能有帮助:API Application type guide .

关于php - XERO API 的快速认证技术有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11663612/

相关文章:

c - openssl 在 C 中创建 rsa key 对并导出它

php - 根据 volt、phalcon 中的用户组显示 block

php - 使用异常代码。有用?

oauth - DotNetOpenAuth 2、OAuth.net 和 Microsoft.OWIN.Security.oAuth

java - OAuth问题,缺少参数access_token

ssl - Golang LD_PRELOAD Hook SSL_read 和 SSL_write

php - 如何安全地为 AES CBC 加密生成 IV?

PhpUnit 引导参数

php - 我应该使用什么类条目来从 C 扩展中抛出非默认异常?

javascript - 401 错误时 Angular 2 刷新访问 token 并重复初始请求