Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
京報訊(記者 張秀蘭)1月27日,國家衛生健康委宣傳司聯合騰訊,發布“新型冠狀病毒感染的肺炎醫療救治定點醫院和發熱門診導航地圖”。
目前,這份地圖覆蓋各省、自治區、直轄市及新疆生產建設兵團,363個城市,1512家醫療救治定點醫院和11594家發熱門診,并且根據防控疫情變化隨時更新。公眾可以在微信“搜一搜”,搜索“定點醫院”或“發熱門診”,即可快速獲得該地圖,使用導航前往。如果當地政府有明確診療順序規定的,按照相關規定有序就醫。
為方便服務民眾,騰訊健康為更多公眾號、小程序、App提供綁定此官方服務的指南。
一、公眾號
1.在微信公眾平臺后臺選擇小程序管理-添加
2.選擇關聯小程序
3.掃碼登錄-關聯小程序
方式1:搜索“騰訊健康”
方式2:輸入Appid:wxb032bc789053daf4
4.添加后在自定義菜單或公眾號推文中添加鏈接
(1)自定義菜單:選擇跳轉小程序-選擇騰訊健康-輸入小程序路徑
小程序路徑:pages/index/home/main?channel=AAEswZXBJg8_KOYeStL6xKT6&navigate_uri=%2Fpages%2Fwebview%2Fmain%3Fsrc%3Dhttps%253A%252F%252Fsdi.wecity.qq.com%252Fm%252F2020012115185202%252Fmap-landing%253F_scope%253Dsnsapi_base%2526channel%253DAAEswZXBJg8_KOYeStL6xKT6
備用網頁(可使用自定鏈接或使用如下鏈接):
https://card.wecity.qq.com/v2/social-insurance/base-info?channel=AAEngZ_b9-g2Na-G2sT6HH4n&cityCode=440300
(2)推文
推文上方選擇小程序。
選擇騰訊健康或輸入小程序appid:wxb032bc789053daf4
展示方式和文字內容自定
二、小程序
微信官方接口文檔鏈接:
https://developers.weixin.qq.com/miniprogram/dev/api/open-api/miniprogram-navigate/wx.navigateToMiniProgram.html
appId:wxb032bc789053daf4
頁面路徑path:pages/index/home/main?channel=AAEswZXBJg8_KOYeStL6xKT6&navigate_uri=%2Fpages%2Fwebview%2Fmain%3Fsrc%3Dhttps%253A%252F%252Fsdi.wecity.qq.com%252Fm%252F2020012115185202%252Fmap-landing%253F_scope%253Dsnsapi_base%2526channel%253DAAEswZXBJg8_KOYeStL6xKT6
三、App
1.登錄微信開放平臺,登陸https://open.weixin.qq.com
2.在管理中心中自己的app點擊查看
3.關聯小程序信息-查看關聯
4.選擇關聯小程序
5.輸入appid:wxb032bc789053daf4 ,發送邀請
6.等待確認,如果2小時內未通過,可聯系微信號:chenli,zhouweiju107
編輯 岳清秀 校對 何燕
多深度文章,請關注云計算頻道:https://yq.aliyun.com/cloud
原文鏈接:https://yq.aliyun.com/articles/72652
使用 OAuth 2.0 認證的的好處是顯然易見的。你只需要用同一個賬號密碼,就能在各個網站進行訪問,而免去了在每個網站都進行注冊的繁瑣過程。
本文將介紹 OAuth 2.0 的原理,并基于 Spring Security 和 GitHub 賬號,來演示 OAuth 2.0 的認證的過程。
什么是 OAuth 2.0
OAuth 2.0 的規范可以參考 : RFC 6749
OAuth 是一個開放標準,允許用戶讓第三方應用訪問該用戶在某一網站上存儲的私密的資源(如照片,視頻,聯系人列表),而無需將用戶名和密碼提供給第三方應用。目前,OAuth 的最新版本為 2.0
OAuth 允許用戶提供一個令牌,而不是用戶名和密碼來訪問他們存放在特定服務提供者的數據。每一個令牌授權一個特定的網站(例如,視頻編輯網站)在特定的時段(例如,接下來的2小時內)內訪問特定的資源(例如僅僅是某一相冊中的視頻)。這樣,OAuth 允許用戶授權第三方網站訪問他們存儲在另外的服務提供者上的信息,而不需要分享他們的訪問許可或他們數據的所有內容。
OAuth 2.0 的核心概念
OAuth 2.0 主要有4類角色:
resource owner:資源所有者,指終端的“用戶”(user)
resource server:資源服務器,即服務提供商存放受保護資源。訪問這些資源,需要獲得訪問令牌(access token)。它與認證服務器,可以是同一臺服務器,也可以是不同的服務器。如果,我們訪問新浪博客網站,那么如果使用新浪博客的賬號來登錄新浪博客網站,那么新浪博客的資源和新浪博客的認證都是同一家,可以認為是同一個服務器。如果,我們是新浪博客賬號去登錄了知乎,那么顯然知乎的資源和新浪的認證不是一個服務器。
client:客戶端,代表向受保護資源進行資源請求的第三方應用程序。
authorization server: 授權服務器, 在驗證資源所有者并獲得授權成功后,將發放訪問令牌給客戶端。 ## OAuth 2.0 的認證流程
認證流程如下:
+--------+ +---------------+
(A)用戶打開客戶端以后,客戶端請求資源所有者(用戶)的授權。
(B)用戶同意給予客戶端授權。
(C)客戶端使用上一步獲得的授權,向認證服務器申請訪問令牌。
(D)認證服務器對客戶端進行認證以后,確認無誤,同意發放訪問令牌。
(E)客戶端使用訪問令牌,向資源服務器申請獲取資源。
(F)資源服務器確認令牌無誤,同意向客戶端開放資源。
其中,用戶授權有四種模式:
授權碼模式(authorization code)
簡化模式(implicit)
密碼模式(resource owner password credentials)
客戶端模式(client credentials)
實踐 OAuth 2.0
Talk is cheap!下面將演示代碼。
本例子將通過 Gradle、Spring Boot、Spring Security、 Thymeleaf、等技術來實現一個client 以及 resource server,并 通過 GitHub來給我們的應用授權。
依賴
本項目基于Gralde 來管理依賴,讀者可以自行改成 Maven 的方式:
// 該依賴對于編譯發行是必須的
配置
項目的核心配置如下:
github.client.clientId=ad2abbc19b6c5f0ed117
包括了作為一個client 所需要大部分參數。其中 clientId 、 clientSecret 是在 GitHub 注冊一個應用時生成的。如果讀者不想注冊應用,則可以直接用上面的配置即可。
如果要注冊,則文章最后有注冊流程。
項目安全的配置
安全配置上需要加上@EnableWebSecurity
、 @EnableOAuth2Client
注解,來啟用Web 安全認證記憶,表明這是一個OAuth 2.0 客戶端 :
@EnableWebSecurity@EnableOAuth2Client // 啟用 OAuth 2.0 客戶端 public class SecurityConfig extends WebSecurityConfigurerAdapter {
使用 Spring Security,我們需要繼承 org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter
并重寫以下 configure 方法:
@Overrideprotected void configure(HttpSecurity http) throws Exception { http.addFilterBefore(ssoFilter(), BasicAuthenticationFilter.class) .antMatcher("/**") .authorizeRequests() .antMatchers("/", "/index", "/403","/css/**", "/js/**", "/fonts/**").permitAll() // 不設限制,都允許訪問
上面的配置是設置了一些過過濾策略,除了靜態資源以及不需要授權的頁面,我們允許訪問,其他的資源,都是需要授權訪問。
其中,我們也設置了一個過濾器 ssoFilter,用于在 BasicAuthenticationFilter 之前進行攔截。如果攔截道的是/login
,就是訪問認證服務器。
private Filter ssoFilter() {
資源服務器
我們寫了兩個控制器來提供相應的資源。
MainController.java
@Controllerpublic class MainController { @GetMapping("/")
在index 頁面,將如認證成功,將會顯示一些認證信息。
UserController.java 是用來模擬用戶管理的相關資源。
@RestController
前端頁面
頁面,我主要是采用 Thymeleaf 以及Bootstrap 來編寫的。
首頁用于現實用戶的基本信息。
<body>
用戶管理界面顯示用戶的列表:
<body><div class="container">
運行效果
這個是沒有授權訪問首頁:
當我們點擊登錄,會重定向到 GitHub,登錄界面并進行授權:
這個是授權后的首頁:
授權后就能夠進入用戶管理界面:
注冊GitHub 應用
如果需要注冊,請看下面的流程,來生成 Client ID 和 Client Secret
訪問https://github.com/settings/applications/new
注冊應用,生成 客戶端 id 和 密碼。比如:
Client ID :ad2abbc19b6c5f0ed117Client Secret :26db88a4dfc34cebaf196e68761c1294ac4ce265
客戶端 id 和 密碼寫入程序配置即可。
源碼
《Spring Security 教程》:https://github.com/waylau/spring-security-tutorial
由器微信認證的設置第一步、路由器上配置微信認證
舉例型號。TL-WVR450A
登錄路由器管理界面,點擊 廣告營銷 >;>; 認證設置。
[1] 認證方式設置
認證方式選擇“微信認證”。如下圖。
[2] 設置認證跳轉鏈接
該鏈接用于認證上網,在認證鏈接的尾部填寫1-20位的標識,生成的認證跳轉鏈接如下圖。
請復制該跳轉鏈接,后續步驟需要。
[3] 設置微信認證提醒頁面
該頁面為無線客戶端連接無線網絡后,瀏覽器中彈出提醒客戶關注微信的頁面,如下。
[4] 設置微信認證跳轉頁面
此頁面為客戶關注微信公眾號之后,點擊“免費上網”之后跳出的頁面。
注意。微信認證跳轉頁面的內容來源,也可以選擇廣告頁面,需要在“廣告制作”中制作。
路由器微信認證的設置第二步、微信后臺添加跳轉
以訂閱號為例,微信后臺設置如下。
[1] 添加自動回復消息
將跳轉鏈接http://weixin.tplogin.cn:8080/wechat_auth.html?test添加到微信后臺自動回復信息中。
注意。需要將超鏈接以html語言的格式加到免費上網中,在該語句前面最好增加一個空格或者“:”,如上述例子中,在“點擊”處增加一個空格。
[2] 關鍵字推送設置
將鏈接http://weixin.tplogin.cn:8080/wechat_auth.html?test添加到自動回復中。
微信認證設置完成,下面我們嘗試關注微信并認證上網。
路由器微信認證的設置第三步、測試微信認證上網
[1] 連接無線信號
終端(手機)連接無線網絡后,跳出認證提醒頁面(部分Android手機需要打開瀏覽器)。
[2] 關注微信號
使用手機關注對應的微信公眾號。
[3] 點擊“免費上網”
點擊“免費上網“后,無線終端就可以免費上網。
如果下次需要接入該無線網絡上網,請在該微信公眾號中輸入包含“上網”的相關詞語(如“上網”“WiFi”等),收到免費上網消息后,點擊后即可上網。具體相關詞可以在微信后臺設置。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。