Heim  >  Artikel  >  Backend-Entwicklung  >  InfoStr-Autorisierungs-Anmeldeprozess für die Alipay-App-Anmeldeautorisierung

InfoStr-Autorisierungs-Anmeldeprozess für die Alipay-App-Anmeldeautorisierung

藏色散人
藏色散人nach vorne
2019-09-06 11:14:356814Durchsuche

Offizielle Website:

Server-SDK: https://docs.open.alipay.com/54/103419/

So verwenden Sie den Client zum Anmelden: https:// docs.open .alipay.com/218/105329/

App-Autorisierungs-Anmeldevorgang:

服务端先拿到 App 端 调用 支付宝 SDK 所需要的 infoStr
App 端 通过 infoStr 获得用户 授权 code
服务端通过 授权 code 拿到请求 token
服务端通过 token 获得用户信息

InfoStr-Autorisierungs-Anmeldeprozess für die Alipay-App-Anmeldeautorisierung

App-seitige Alipay-Anmeldeschritte:

1. Back-End-ÜbertragungsinfoStr

Offiziell ist es so geschrieben: https://docs.open.alipay.com/218/105325/

Sehen Sie sich das Beispiel hier an:

apiname=com.alipay.account.auth&app_id=xxxxx&app_name=mc&auth_type=AUTHACCOUNT&biz_type=openservice&method=alipay.open.auth.sdk.code.get&pid=xxxxx&product_id=APP_FAST_LOGIN&scope=kuaijie&sign_type=RSA2&target_id=20141225xxxx&sign=fMcp4GtiM6rxSIeFnJCVePJKV43eXrUP86CQgiLhDHH2u%2FdN75eEvmywc2ulkm7qKRetkU9fbVZtJIqFdMJcJ9Yp%2BJI%2FF%2FpESafFR6rB2fRjiQQLGXvxmDGVMjPSxHxVtIqpZy5FDoKUSjQ2%2FILDKpu3%2F%2BtAtm2jRw1rUoMhgt0%3D

Ich war zunächst sehr zuversichtlich, ob das SDK über die Methode alipay.open.auth.sdk.code.get verfügt, aber nach der globalen Suche habe ich dieses Wort nicht gesehen

Dann versuchen Sie es. Ich habe versucht, über diese Verbindung anzufragen, ob ich den Authcode erhalten würde, aber es ist immer noch fehlgeschlagen.

Meine Stimmung explodierte, und dann sah ich einen Blog und merkte, dass ich von Anfang an falsch lag. Es stellte sich heraus, dass für die Rücksendung nur eine Hintergrundspleißung erforderlich ist, keine Anfrage.

Vielleicht war die Idee am Anfang falsch, also habe ich den ganzen Nachmittag gekämpft.

Andere Entwickler zitieren:

InfoStr-Autorisierungs-Anmeldeprozess für die Alipay-App-Anmeldeautorisierung

Get infoStr

/**
 * InfoStr APP登录需要的的infostr
 * 
 * @return String
 */
public function infoStr()
{
    $infoStr = http_build_query([
        'apiname' => 'com.alipay.account.auth',
        'method' => 'alipay.open.auth.sdk.code.get',
        'app_id' => $this->app_id,
        'app_name' => 'mc',
        'biz_type' => 'openservice',
        'pid' => $this->pid,
        'product_id' => 'APP_FAST_LOGIN',
        'scope' => 'kuaijie',
        'target_id' => mt_rand(999, 99999), //商户标识该次用户授权请求的ID,该值在商户端应保持唯一
        'auth_type' => 'AUTHACCOUNT', // AUTHACCOUNT代表授权;LOGIN代表登录
        'sign_type' => 'RSA2',
    ]);
    $infoStr .= '&sign='.$this->enRSA2($infoStr);
    return $infoStr;
}
/**
 * enRSA2 RSA加密
 * 
 * @param String $data
 * @return String
 */
private function enRSA2($data)
{
    $str = chunk_split(trim($this->private_key), 64, "\n");
    $key = "-----BEGIN RSA PRIVATE KEY-----\n$str-----END RSA PRIVATE KEY-----\n";
    // $key = file_get_contents(storage_path('rsa_private_key.pem')); 为文件时这样引入
    $signature = '';
    $signature = openssl_sign($data, $signature, $key, OPENSSL_ALGO_SHA256)?base64_encode($signature):NULL;
    return $signature;
}

Der Code kommt von https:// learnku. com/articles/30076#replies

Das obige ist der detaillierte Inhalt vonInfoStr-Autorisierungs-Anmeldeprozess für die Alipay-App-Anmeldeautorisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen