国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信小程序授權(quán)手機(jī)號(hào)碼登錄

這篇具有很好參考價(jià)值的文章主要介紹了微信小程序授權(quán)手機(jī)號(hào)碼登錄。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


前言

因公司項(xiàng)目需要做微信小程序相關(guān)項(xiàng)目,故記錄一下相關(guān)開(kāi)發(fā)要點(diǎn)。
使用的是binarywang工具包,版本為4.1.0。
后端框架使用springboot
更多其他功能使用推薦查看https://github.com/binarywang/binarywang


一、需求描述:授權(quán)獲取手機(jī)號(hào)碼登錄

用戶授權(quán)手機(jī)號(hào)登錄小程序。

二、具體操作

1.引入相關(guān)依賴(lài)

<dependency>
   	<groupId>com.github.binarywang</groupId>
    <artifactId>weixin-java-miniapp</artifactId>
    <version>4.1.0</version>
</dependency>

2.步驟

   通過(guò)code獲取openid, sessionKey
   獲取手機(jī)號(hào)需要encryptedData(加密用戶數(shù)據(jù)),iv(加密算法的初始向量),sessionKey(會(huì)話密鑰)

3.相關(guān)代碼

3.1 微信小程序開(kāi)發(fā)的相關(guān)配置

在application.yml文件中配置

test: 
  wechat: 
    appid: 小程序的appid
    appSecret: 小程序的appSecret
    msgDataFormat: JSON
    mchId: 商戶號(hào)
    mchKey:商戶密鑰
    certPath: 證書(shū)路徑
    notify-url: 支付回調(diào)接口路徑

3.2創(chuàng)建配置文件

代碼如下(示例):

@Data
@ConfigurationProperties(prefix = "test.wechat")
public class WeChatProperties {

    /**
     * 微信小程序appid
     */
    private String appId;
	/**
     * 微信小程序appSecret
     */
    private String appSecret;
    
    private String  msgDataFormat;

    /**
     * 微信支付商戶號(hào)
     */
    private String mchId;

    /**
     * 微信支付商戶密鑰
     */
    private String mchKey;

    /**
     * apiclient_cert.p12文件的絕對(duì)路徑,或者如果放在項(xiàng)目中,請(qǐng)以classpath:	開(kāi)頭指定
     */
    private String certPath;

}

備注:其中商戶號(hào)、商戶密鑰、證書(shū)都是后續(xù)微信小程序支付需要使用到。


3.3 實(shí)例化WxMaService

@Configuration
@EnableConfigurationProperties(WeChatProperties.class)
public class WeChatMaConfig {

    @Autowired
    private WeChatProperties properties;

    @Bean
    public WxPayService wxPayService() {
        WxPayConfig payConfig = new WxPayConfig();
      payConfig.setAppId(StringUtils.trimToNull(properties.getAppId()));
        payConfig.setMchId(StringUtils.trimToNull(properties.getMchId()));
        payConfig.setMchKey(StringUtils.trimToNull(properties.getMchKey()));
        payConfig.setKeyPath(StrUtil.format("classpath:{}", StrUtil.trim(properties.getCertPath())));
        WxPayService wxPayService = new WxPayServiceImpl();
        wxPayService.setConfig(payConfig);
        return wxPayService;
    }

    @Bean
    public WxMaService initWxMaService() {
        WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
        config.setAppid(StrUtil.trim(properties.getAppId()));
        config.setSecret(StrUtil.trim(properties.getAppSecret()));
        config.setMsgDataFormat(StrUtil.trim(properties.getMsgDataFormat()));
        WxMaService wxMaService = new WxMaServiceImpl();
        wxMaService.setWxMaConfig(config);
        return wxMaService;
    }

}

3.4 手機(jī)號(hào)碼授權(quán)登錄

關(guān)鍵代碼如下(示例):文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-494005.html

@RestController
@Slf4j
public class TestContoller {
    @Autowired
    private WxMaService          wxMaService;
    
    @GetMapping("/login")
    public void login(String code, String encryptedData, String iv) {
        
        try {
            WxMaJscode2SessionResult sessionInfo = wxMaService.getUserService().getSessionInfo(code);
            String openid = sessionInfo.getOpenid();
            log.info("openid:" + openid);
            String sessionKey = sessionInfo.getSessionKey();
            WxMaPhoneNumberInfo phoneInfo = wxMaService.getUserService().getPhoneNoInfo(sessionKey, encryptedData, iv);
            String phone = phoneInfo.getPhoneNumber();
            log.info("phone:" + phone);
            // 自己業(yè)務(wù)邏輯處理
        } catch (WxErrorException e) {
            e.printStackTrace();
        }
    }
}

到了這里,關(guān)于微信小程序授權(quán)手機(jī)號(hào)碼登錄的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 微信小程序登錄+獲取手機(jī)號(hào)碼(前端+后端)

    微信小程序登錄+獲取手機(jī)號(hào)碼(前端+后端)

    上面這張是微信小程序官方原圖,登錄流程如上圖所示,下面一步步進(jìn)行以及說(shuō)一下碰到的坑。 1.wx.login()獲取code ? ? ? ? 調(diào)用微信小程序官方提供的方法獲取code提供給后端用以換取session_key、openid。 ? ? ? ? 注意:code只能使用一次就會(huì)失效,且有效期為5分鐘 2.后端收到

    2024年02月12日
    瀏覽(95)
  • 【微信小程序】新版獲取手機(jī)號(hào)碼實(shí)現(xiàn)一鍵登錄(uniapp語(yǔ)法)(完整版附源碼)

    【微信小程序】新版獲取手機(jī)號(hào)碼實(shí)現(xiàn)一鍵登錄(uniapp語(yǔ)法)(完整版附源碼)

    需求 如圖,點(diǎn)擊按鈕,獲取用戶手機(jī)號(hào)實(shí)現(xiàn)一鍵登錄,當(dāng)然,用戶也可以自行輸入其他手機(jī)號(hào)進(jìn)行登錄 問(wèn)題 要想獲取用戶手機(jī)號(hào)并不復(fù)雜,但由于近幾年微信小程序獲取手機(jī)號(hào)的api進(jìn)行了更新,當(dāng)前很多帖子使用的仍是舊的方式,先調(diào)wx.login()獲取code,iv,等等加密數(shù)據(jù), 給到

    2024年02月05日
    瀏覽(26)
  • 微信小程序如何獲取用戶手機(jī)號(hào)碼?

    微信小程序如何獲取用戶手機(jī)號(hào)碼?

    需求 在開(kāi)發(fā)一款微信小程序時(shí),通常需要用戶進(jìn)行微信登錄,并獲取用戶的手機(jī)號(hào)碼作為用戶的唯一標(biāo)識(shí)(userId)。雖然可以通過(guò)wx.login來(lái)獲取用戶的openid,但有時(shí)候需要獲取用戶的手機(jī)號(hào)碼以提供更完善的個(gè)性化服務(wù),因此探索獲取用戶手機(jī)號(hào)碼的方式成為開(kāi)發(fā)中的一個(gè)重

    2024年04月22日
    瀏覽(33)
  • 【微信小程序】純前端獲取用戶手機(jī)號(hào)碼

    【微信小程序】純前端獲取用戶手機(jī)號(hào)碼

    2024.02.04更新 作者最近做了一個(gè)小程序項(xiàng)目,證明了純前端獲取手機(jī)號(hào)是不可以發(fā)布的,首先審核時(shí)會(huì)因?yàn)閍ppsecret明文而不通過(guò),就算你使用某種加密方法繞過(guò)審核,正式發(fā)布后在真機(jī)環(huán)境還是不可以使用的,所以本方法僅供練習(xí)使用,在第二步拿到code之后傳給后端就可以了

    2024年02月03日
    瀏覽(28)
  • 微信小程序獲取用戶手機(jī)號(hào)碼教程(前端+后端)

    微信小程序獲取用戶手機(jī)號(hào)碼教程(前端+后端)

    在開(kāi)發(fā)一款微信小程序時(shí),需要用戶進(jìn)行微信登錄,獲取用戶的手機(jī)號(hào)碼來(lái)作為用戶的唯一標(biāo)識(shí)(userId),于是探索獲取用戶手機(jī)號(hào)碼的方式; (當(dāng)然,通過(guò)wx.login來(lái)獲取code,進(jìn)而換取用戶的openid也是可以的) 目前版本的微信小程序獲取用戶手機(jī)號(hào)碼的方式如下: 前端開(kāi)發(fā)

    2024年02月12日
    瀏覽(31)
  • 微信小程序獲取用戶手機(jī)號(hào)碼教程(前端+后端)

    微信小程序獲取用戶手機(jī)號(hào)碼教程(前端+后端)

    前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站,這篇文章男女通用,看懂了就去分享給你的碼吧。 在開(kāi)發(fā)微信小程序時(shí),獲取用戶手機(jī)號(hào)碼是常見(jiàn)的需求之一。本教程將為你詳細(xì)介紹如何在前端和后端實(shí)現(xiàn)獲取用

    2024年02月08日
    瀏覽(59)
  • 【微信小程序】使用 Cryptojs 解密微信綁定手機(jī)號(hào)碼

    【微信小程序】使用 Cryptojs 解密微信綁定手機(jī)號(hào)碼

    ? ? ?很抱歉斷更了一段時(shí)間,因?yàn)樽罱谧鲆粋€(gè)項(xiàng)目比較忙,正好項(xiàng)目中小程序板塊需要解密手機(jī)號(hào)碼來(lái)提交給接口,小程序中雖然提供了獲取手機(jī)號(hào)按鈕點(diǎn)擊事件: bindgetphonenumber ,但是該事件的處理函數(shù)中只能獲取到加密過(guò)的手機(jī)號(hào)碼, 網(wǎng)上大部分教程都是使用 java,

    2024年02月09日
    瀏覽(22)
  • 微信小程序(抖音小程序):手機(jī)號(hào)碼解析失敗解決方案

    微信小程序(抖音小程序):手機(jī)號(hào)碼解析失敗解決方案

    ? ? ? ? 在小程序開(kāi)發(fā)中,可能需要用戶授權(quán)獲取用戶信息,而用戶信息涉及到手機(jī)號(hào)等敏感數(shù)據(jù),一般的小程序開(kāi)發(fā)平臺(tái),會(huì)將數(shù)據(jù)進(jìn)行加密,然后通過(guò)對(duì)稱(chēng)加密算法進(jìn)行加密解密。在獲取手機(jī)號(hào)的過(guò)程中由于流程的理解錯(cuò)誤可能會(huì)出現(xiàn)解密手機(jī)號(hào)失敗的問(wèn)題。本文介紹一

    2024年02月06日
    瀏覽(40)
  • 微信小程序獲取手機(jī)號(hào)碼 phonenumber.getPhoneNumber 提示47001錯(cuò)誤

    微信小程序獲取手機(jī)號(hào)碼 phonenumber.getPhoneNumber 提示47001錯(cuò)誤

    微信小程序獲取手機(jī)號(hào)碼 phonenumber.getPhoneNumber 提示47001錯(cuò)誤 經(jīng)過(guò)測(cè)試, 文檔說(shuō)的是body 類(lèi)型 實(shí)際卻是json類(lèi)型 正確代碼如下:

    2024年02月06日
    瀏覽(25)
  • uniapp支付寶小程序授權(quán)用戶信息、授權(quán)手機(jī)號(hào)碼

    uniapp支付寶小程序授權(quán)用戶信息、授權(quán)手機(jī)號(hào)碼

    需求說(shuō)明 uniapp開(kāi)發(fā)支付寶小程序授權(quán)用戶信息和用戶手機(jī)號(hào)碼過(guò)程中,與微信小程序的API是有所不同的,相同是都是需要 button/button 點(diǎn)擊事件觸發(fā)。接下來(lái)簡(jiǎn)單說(shuō)明一下支付寶小程序授權(quán)用戶信息和用戶手機(jī)號(hào)碼的方法。 完成需求 授權(quán)用戶手機(jī)號(hào)碼前,需要先在支付寶開(kāi)放

    2024年02月08日
    瀏覽(79)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包