C#支付寶用戶的靜默授權


支付寶官方的用戶信息授權,具體地址:https://opendocs.alipay.com/open/289/105656

商戶/開發者通過以下的 URL 拼接規則拼接用戶授權的 URL 地址,該地址展示給用戶,用戶需在支付寶端點開 URL 地址,並點擊授權,商戶/開發者即可獲得用戶的授權。
url拼接規則:https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=APPID&scope=SCOPE&redirect_uri=ENCODED_URL 

scope :接口權限值,目前只支持auth_user(獲取用戶信息網站支付寶登錄)、auth_base(用戶信息授權)、auth_ecard(商戶會員卡)、auth_invoice_info(支付寶閃電開票)、auth_puc_charge(生活繳費)五個值;多個scope時用”,”分隔,如scope為”auth_user,auth_ecard”時,此時獲取到的access_token,既可以用來獲取用戶信息,又可以給用戶發送會員卡。

注意:

1.scope為 auth_base(用戶信息授權)時,可以靜默授權,不需要用戶點擊授權,其他必需用戶點擊授權

2.url拼接規則中的redirect_uri 一定要與 開放平台密鑰里面的應用的授權回調地址保持一致 

 

 

這樣就可以在支付寶上靜默獲取auth_code(授權code),通過auth_code就可以獲取accesstoken 和 用戶userid 。

1.獲取支付寶auth_code(授權code)拼裝URL

/// <summary>
/// 獲取支付寶Code(靜默授權)
/// https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=APPID&scope=SCOPE&redirect_uri=ENCODED_URL
/// scope   接口權限值,目前只支持auth_user(獲取用戶信息、網站支付寶登錄)、auth_base(用戶信息授權)、auth_ecard(商戶會員卡)、auth_invoice_info(支付寶閃電開票)、auth_puc_charge(生活繳費)五個值;多個scope時用”,”分隔,如scope為”auth_user,auth_ecard”時,此時獲取到的access_token,既可以用來獲取用戶信息,又可以給用戶發送會員卡。
/// </summary>
/// <param name="redirectUrl"></param>
public string GetAuthorizeUrl(string redirectUrl)
{
    var appId = AlipayConfig.Mini.CONFIG.AppId;
    string url = "https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=" + appId + "&scope=auth_base&redirect_uri=" + redirectUrl;
    return url;
}

2.auth_code換取access_token與user_id
通過接口 alipay.system.oauth.token 獲取access_token及userId。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM