999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于微信服務號的合法身份驗證方法設計與實現

2017-01-10 07:36:36張未未王麗韓愛慶
微型電腦應用 2016年12期
關鍵詞:數據庫微信用戶

張未未,王麗,韓愛慶

?

基于微信服務號的合法身份驗證方法設計與實現

張未未,王麗,韓愛慶

(北京中醫藥大學信息中心,北京 100029)

微信服務號偏重于為每一位關注用戶提供交互服務,具有較好的開放性,但不便于用戶的分級分類管理;而企業號主要為公司內部提供通訊和移動應用服務,需要先有成員的通訊信息驗證才可以成功關注并使用,具有較強的針對性。但企業在使用微信公眾號進行運營過程中,既需要對所有潛在用戶提供開放性服務,也需要對用戶進行分級分類管理,不能單純的將對外服務和內部活動割裂開來。針對以上問題,介紹了基于微信服務號實現合法身份驗證的方法,將企業號可對關注用戶進行分級分類管理及提供特定服務的優點應用于服務號之中,同時又保留了服務號原有的開放性特點,從而拓寬了服務號的應用范圍,為這兩種公眾號的集成應用提供了思路。

微信;服務號;企業號;身份驗證;OpenID

0 引言

2012年8月23日,騰訊公司推出微信公眾平臺,其是微信公眾賬號所有者(政府、媒體、企業、組織或個人等)進行品牌推廣、減少運營成本、提高影響力、與用戶進行互動交流及提供服務的平臺,公眾賬號通過消息、事件、菜單等交互方式為用戶提供服務[1]。在微信公眾平臺應用之出,微信公眾賬號主要分為訂閱號和服務號兩種類型。其中,訂閱號主要偏于為用戶傳達資訊(類似報紙雜志),認證前后都是每天只可以群發一條消息;而服務號則偏于服務交互(類似銀行、114等提供服務查詢),認證前后都是每個月可群發4條消息[2]。自2014年9月以后,微信公眾平臺又推出了新的賬號類型—企業號,其是微信為企業客戶提供的移動服務,旨在提供企業移動應用入口。它可以幫助企業建立員工、上下游供應鏈與企業IT系統間的連接。企業號主要用于公司內部通訊使用,需要先有成員的通訊信息驗證才可以關注成功企業號[3]。

目前,企業和組織一般多會選擇使用服務號來實現對外服務,使用企業號來為企業內部員工提供通訊等移動應用服務。而筆者在為企業進行實際公眾賬號項目開發過程中發現,企業所能提供的對外服務往往是建立在內部員工相互協作的基礎上的,也就是說不能單純的將企業運營的對外服務和內部活動進行割裂。而另一方面,企業在提供對外服務時,也要區分不同的客戶群體,是新關注客戶還是已合作過的客戶,或者可以在服務號中針對不同的客戶等級提供不同的服務選項[4]。針對以上實際需求,可以考慮將服務號的對外服務功能與企業號中對于關注用戶需進行身份驗證的特點相結合來予以解決,方法之一是在服務號中加入身份驗證機制。

1 身份驗證方法設計

服務號可以為所有關注的用戶提供服務,相較之企業號只能為內部員工或驗證用戶提供服務來說具有更強的開放性。但這樣的開放性又不便于企業對于客戶進行分級管理以及提供不同的服務選項,因此需要為服務號加入類似企業號中的關注用戶合法身份驗證機制。

1.1 基本思路

當用戶第一次關注微信服務號時,提示用戶進行身份驗證。通常要求用戶輸入具有唯一個人標識的電子信息數據(例如身份證號、電子郵箱地址或手機號碼)。將用戶所輸入的信息與后臺數據庫已保存的合法用戶信息進行比對,如果比對成功,則認為該用戶身份合法,并將該用戶關注服務號時所使用的個人微信號信息與用戶信息一起保存于數據庫中,從而完成用戶驗證過程。當該用戶再次使用同一微信號進入企業服務號時,將根據微信號信息自動判斷用戶身份,從而完成合法用戶的自動登錄環節,并為該用戶提供區別于普通關注用戶更多的服務選項。

1.2 用戶微信號信息識別

從1.1節基本思路中不難發現,實現身份驗證的關鍵是將用戶個人微信號信息與數據庫中已保存的用戶信息進行綁定,因此能否獲取正確并且具有唯一識別性的用戶微信號信息將十分重要。當關注者與服務號產生信息交互后,服務號在用戶未授權的情況下并不能直接獲取用戶的微信號等微信注冊信息,取而代之的是可獲得關注者的OpenID。OpenID是加密后的微信號,每個微信號對每個服務號的OpenID是唯一的[5]。對于不同的服務號,同一微信用戶的OpenID不同,獲取用戶相對于某個服務號的OpenID不需要用戶授權[6]。可見OpenID可以作為服務號內對于關注用戶的唯一標識。通過將OpenID與已有用戶信息綁定保存,便可在用戶下次進入同一服務號時,進行OpenID的比較,從而實現已完成合法身份驗證用戶的自動識別及登錄。

1.3 實現方法設計

基于服務號實現身份驗證的方法流程,如圖1所示。

圖1 身份驗證方法實現流程

①用戶微信關注或進入微信服務號時,獲取OpenID。

②判斷所獲得的OpenID是否已存在于后臺數據庫中,如果存在則表明用戶已完成身份驗證,將實現服務號內的自動登錄,并可直接使用服務號的全部功能。

③如果獲得的OpenID并未存在于后臺數據庫中,說明用戶還沒有完成身份驗證,可用圖文消息提示用戶進行身份驗證。

④驗證過程要求用戶輸入電子郵箱地址。如果該郵箱地址在后臺數據庫中有用戶信息與之對應,說明該用戶身份合法,則向該郵箱發送激活郵件。

⑤用戶在規定時間內通過激活郵件完成身份驗證過程。驗證成功后,用戶微信的OpenID將與用戶基本信息進行綁定保存,已供后續用戶自動登錄使用。該用戶可以使用服務號中的所有功能

⑥如果通過用戶輸入的電子郵箱地址在后臺并未找到對應用戶信息,則說明該用戶身份不合法,將只能使用服務號中的部分功能,比如接收圖文信息等資訊,而不能與服務號進行交互。

上述身份驗證過程使用了郵件激活技術,主要是為防止別人盜用合法用戶的電子郵箱地址進行驗證。也可以使用輸入手機號碼和發送驗證碼的方式來完成驗證。

2 身份驗證方法實現

基于以上身份驗證方法的設計,筆者已在實際的服務號開發項目中予以實現。該服務號是為某培訓機構提供培訓信息推廣、在線測驗及在線評教等服務支持的。如果是非身份驗證用戶將只能享有培訓信息推送功能。但用戶身份得到驗證后,將可使用服務號的所有功能。

2.1 后臺數據準備

該服務號所提供的在線測驗功能是針對已報名參加該培訓機構線下培訓課程的學員而進行的知識自測環節,通過測驗的學員,可以得到結業證書。對于可以參加在線測驗的學員應該具有一定的合法身份(例如,已報名某門課程的學習),當用戶關注該服務號或是進行在線測驗之前要進行學員身份驗證,對于身份合法的用戶才可使用在線測驗功能。因此,需要事先將具有合法身份的學員基本信息錄入服務號后臺數據庫中。當學員使用個人微信關注服務號時,再將其微信的OpenID與個人信息進行綁定,從而完成驗證。在設計后臺數據庫時,將學員基本信息填入“Tbl用戶”表中,該表基本結構及示例數據,如表1所示。

表1 “Tbl用戶”表基本結構及示例數據

表1中“電子郵箱”地址將作為關注用戶與具有合法身份學員用戶進行匹配的依據。“是否激活”字段為0時,表示還未完成身份驗證。另外,用戶需要在“激活過期時間”所規定的范圍內進行帳號激活。

2.2 驗證過程實現

1)當用戶首次關注服務號時,服務號將收到關注事件,并得到該事件的XML格式數據,示例數據如下[7]。

123456789

其中參數ToUserName表示接收方微信號,參數FromUserName表示發送方(關注用戶)的OpenID。可以利用FromUserName中的OpenID值在“Tbl用戶”表中進行查找,如果有匹配記錄,說明該微信號已經與某個學員信息進行了綁定,身份驗證已完成;如果沒有匹配記錄,則服務號將向關注用戶發送圖文消息,提示用戶進行身份驗證,如圖2所示。

圖2 提示用戶進行身份驗證的圖文消息

2)單擊該圖文消息或者服務號的“學員驗證”菜單,將跳轉至身份驗證界面。通過輸入學員報名時所登記的正確電子郵箱地址,進行用戶身份驗證。驗證過程,如圖3所示。

圖3 進行身份驗證的PHP網頁界面

經過以上驗證步驟后,“Tbl用戶”表中與所輸入電子郵箱地址匹配的用戶記錄將會填入“OpenID”、“驗證時間”、“激活過期時間”、“賬戶激活碼”數據。需要說明的是:

a)圖3所示用戶驗證界面是利用PHP開發的動態網頁。驗證過程需要在PHP頁面中獲取關注用戶微信的OpenID值以填入“Tbl用戶”表中。由于此時已脫離了微信服務號的主界面,無法接收到帶有參數FromUserName的XML格式數據,因此,要想獲得用戶的OpenID值需調用微信公眾平臺所提供的OAuth2.0授權接口[8],接口請求形式如下(具體調用方法可參見微信公眾平臺官方開發文檔)。

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

在由圖2所示服務號主界面跳轉至圖3所示驗證界面時,需調用此接口來設置鏈接地址。

b)為防止用戶使用非本人電子郵箱進行身份驗證,驗證過程采用了郵件激活的方式[9],激活郵件內容如圖4所示。

圖4 激活郵件內容示例

鏈接中verify參數即賬戶激活碼,該激活碼是由“OpenID”和“驗證時間”兩項數據通過md5加密的方式計算得到的[10],具有唯一性。PHP參考代碼如下:

$regtime = date('Y-m-d H:i:s',time());//獲取當前時間作為驗證時間

$token = md5($openID.$regtime); //創建激活碼

在激活的過程中會把該參數發送給激活頁面,圖4所示,鏈接中的激活頁面地址為:

http://zwwatl.applinzi.com/active.php

激活頁面接收到該參數后將與“Tbl用戶”表中已保存的賬戶激活碼數據進行比較,相同則激活成功。激活后“Tbl用戶”表中對應的數據形式,如表2所示。

表2 賬戶激活后“Tbl用戶”表中數據示例

3)激活成功后,如果用戶使用同一微信號再次進行身份驗證時,將會出現提示信息。此時,用戶便可使用服務號的所有功能,如圖5所示。

圖5 賬戶激活成功界面

4)由于用戶微信的OpenID已保存于“Tbl用戶”表中,因此當通過驗證的用戶再次進入服務號時,將會自動進行OpenID的查找匹配,以實現類似于自動登錄的效果。

3 總結

本文介紹了基于微信服務號進行關注用戶合法身份驗證的實現方法及具體實現過程,通過身份驗證的用戶可獲得服務號的更多服務功能。在驗證過程中,加入了電子郵件激活環節,以防止非用戶本人所進行的非法驗證。此方法最終實現的結果是將用戶個人微信號加密后所得到的OpenID值與用戶的基本信息進行綁定,由于不同微信號對應同一服務號的OpenID值具有唯一性,因此驗證后的用戶當再次進入同一服務號時,無需重復驗證或手工登錄,便可通過OpenID值的自動比對實現自動登錄。加入身份驗證功能的微信服務號保留了原有開放性的服務功能,即任何用戶都可進行關注,并可獲得諸如信息推送等部分服務,同時又集成了微信企業號可針對特定用戶或內部員工提供特殊功能選擇的優點,從而便于對用戶的分級分類管理。

[1] 方倍工作室.微信公眾平臺開發最佳實踐[M].北京:機械工業出版社,2015.

[2] 王易.微信營銷與運營策略、方法、技巧與實踐[M].北京:機械工業出版社,2013.

[3] 周解敏.微信公共平臺的營運開發——關于企業號的實踐與應用[J].現代經濟信息,2015(10):153.

[4] 孫玉敏.企業微信營銷探討[J].中國市場,2015(49):43-44.

[5] 李莎,王勝.微信互動教學系統研究與實現[J].微型電腦應用, 2015,31(4):32-34.

[6] 張淼,廖浩琛,梁杰民,等.基于ARM和微信公眾平臺的智能旅館遠程監控系統[J].計算機與現代化,2015(6):114-118.

[7] 陳剛,劉坤,劉毅,等.圖書館微信公眾平臺服務號的設計與開發[J].大學圖書情報學刊,2015,33(3):44-48.

[8] 萬園春,顧旸鋮,邱衛東.微信交互協議和加密模式研究[J].微型電腦應用,2015,31(2):31-34.

[9] 姚舜.圖書館微信借書系統的設計與實現[J].圖書館建設,2015(2):84-87.

[10] 孫文玨,薛質.基于微信的身份證電子憑證系統研究[J].信息技術,2014(7):90-93.

Design and Realization of the Legal Identity Verification of WeChatService Number

Zhang Weiwei, Wang Li, Han Aiqing

(Information Center, Beijing University of Chinese Medicine, Beijing 100029, China)

WeChat service number puts more emphasis on providing interactive services for every concerned user and has good opening characteristics, but it is not convenient for the users' classification management. Enterprise number provides mainly for internal communication and mobile application services, users needs to have a member of the communication information validation before they can concern and use the enterprise number, so the enterprise number has strong pertinence. In the actual use of WeChat public number, we needs to provide not only open services for all potential users but also classification management for different users. But external services cannot be separated from internal activities. In view of the above problem, this paper introduces the legal identity verification method based on WeChat service number, the advantages of enterprise number that classification management and specific service will be used for service number. At the same time, it retains the original opening characteristics of the service number, so as to broaden the application scope of service number. The new design provide a way for the integrated application of these two kinds of public numbers.

WeChat; Service number; Enterprise number; Identity verification; OpenID

1007-757X(2016)12-0023-03

TP311

A

北京中醫藥大學2016年度教育科研課題項目(XJY16041);北京中醫藥大學2016年度黨建課題項目(微信公眾平臺下高校“微黨課”的設計與研究)

張未未(1979-),男,山東萊蕪人,北京中醫藥大學,信息中心,講師,碩士,研究方向:數據庫應用技術、網站開發技術,北京,100029

王 麗(1979-),女,天津人,北京中醫藥大學,信息中心,講師,碩士,研究方向:數據庫應用技術,北京,100029

韓愛慶(1979-),男,河北欒城人,北京中醫藥大學,信息中心,講師,碩士,研究方向:數據庫應用技術,北京,100029

(2016.08.03)

猜你喜歡
數據庫微信用戶
微信
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
微信
微信
主站蜘蛛池模板: 91蜜芽尤物福利在线观看| 久久香蕉欧美精品| 久久男人资源站| 亚洲成人动漫在线| 一级不卡毛片| 国产人免费人成免费视频| 人妻无码中文字幕第一区| 婷婷六月综合网| 国产欧美日韩综合一区在线播放| 欧美性精品| 香蕉视频在线精品| 四虎亚洲国产成人久久精品| 一级毛片在线免费视频| 欧美色视频在线| 国产亚洲欧美在线专区| 97se亚洲| 欧美人人干| 日本一区二区不卡视频| 国产欧美日韩资源在线观看| 国内精品一区二区在线观看| h网站在线播放| 日日碰狠狠添天天爽| 亚洲人成色77777在线观看| AV无码无在线观看免费| 亚洲成AV人手机在线观看网站| 精品超清无码视频在线观看| 综合五月天网| 国产香蕉在线视频| 国产美女自慰在线观看| 91色爱欧美精品www| a在线观看免费| 婷婷激情亚洲| 少妇人妻无码首页| 麻豆AV网站免费进入| 熟妇人妻无乱码中文字幕真矢织江 | 蜜臀AV在线播放| 无码人中文字幕| 国产一级毛片yw| 成人午夜网址| 欧美日韩一区二区三区在线视频| 久久伊伊香蕉综合精品| 国产福利观看| 久久伊人久久亚洲综合| 国产91熟女高潮一区二区| 97国内精品久久久久不卡| 一本色道久久88亚洲综合| 米奇精品一区二区三区| 天堂在线亚洲| 人妻中文字幕无码久久一区| 91精品日韩人妻无码久久| 国产一区二区视频在线| 亚洲福利视频网址| 中文字幕亚洲专区第19页| 久久综合久久鬼| 亚洲国产高清精品线久久| 成人韩免费网站| 九九热精品在线视频| 中文字幕自拍偷拍| 欧美精品成人| 丁香亚洲综合五月天婷婷| 99精品视频播放| 99久久99视频| 免费无遮挡AV| 精品人妻无码区在线视频| 国产精品任我爽爆在线播放6080| 毛片基地视频| 无码丝袜人妻| 欧美一级专区免费大片| 欧美a级在线| 国产91视频免费观看| 亚洲最大在线观看| 亚州AV秘 一区二区三区| 日韩欧美中文在线| 国产十八禁在线观看免费| 91视频日本| 国产欧美日韩另类| 91亚洲视频下载| 中文字幕人成乱码熟女免费| 四虎永久免费网站| 日本精品视频一区二区| 亚洲制服中文字幕一区二区| 色男人的天堂久久综合|