ユーザーが正しいキーを持っているかどうか、アプリケーションはどのように確認できますか? 証明書を作成し、これらの要件を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 で入手できます。ここでスクリプトの実装例も読みました。しかし、迅速な認証のためのものは実際には見つかりませんでした。
私がこれを尋ねている理由..ユーザーのキーと証明書を数分ではなく数秒で認証してもらいたいからです(受信する必要がある請求書または連絡先情報の数を与えて取ります)。この問題に関するヘルプをいただければ幸いです。:)