大部分的應用都需要對用戶的業務訪問進行身份認證,以便爲用戶提供個性化體驗。但是端到端完整構建一套用戶認證系統會面臨很多挑戰。認證服務可以爲應用快速構建安全可靠的用戶認證系統,開發者只需在應用中訪問認證服務的相關能力,而不需要關心雲側的設施和實現。今天就來教大家如何快速集成AGConnect的認證服務中的手機號碼認證方式。
1、在AGC上開通認證服務並啓用手機號碼認證方式:
在我的項目 下選擇你的開發項目,在構建下面,找到認證服務服務,點擊開通:
沒有Android項目的話,可以先自己創建一個。開通認證服務後,我們可以看到一列認證方式,找到手機號碼認證方式,點擊右側的啓用按鈕將認證服務啓用。
2、在Android項目裏集成SDK
a) 集成SDK
1、在項目級的gradle文件中添加華爲Maven,即配置下面標紅的內容
2、打開應用級的build.gradle文件,配置好華爲認證服務的SDK,配置下面標紅的內容即可。 注意別落了上面的agcp插件
b) 下載json文件,並且配置默認存儲實例
1、在AGC界面上,選擇 我的項目 -> 項目設置–> 常規 下面,下載agconnect-services.json文件到你的Android項目的app路徑下。
3、功能開發:
對於手機號碼認證,認證服務SDK提供了兩個階段的操作,一個是註冊,另一個是登錄。這兩個操作都需要用到獲取短信驗證碼的功能,所以認證服務SDK也提供了發送驗證碼的功能:
- 發送驗證碼的步驟如下:
首先我們需要創建一個VerifyCodeSettings對象,裏面包含了發送短信的相關設置,包括action,語言等
讀取用戶輸入的國家碼與手機號,調用RequestVerifyCode方法向認證服務服務器請求發送驗證碼,傳入國家碼,手機號以及剛剛我們創建的setting對象
2. 用戶獲取驗證碼後就可以開始註冊流程了
首先我們需要讀取用戶的輸入並構建一個PhoneUser對象,裏面存放了手機用戶的相關信息,包括手機號,國家碼,驗證碼和密碼。這裏用戶在創建的時候可以選擇是否設置密碼,如果設置則後續在登錄的時候就需要輸入密碼。PhoneUser創建成功後我們就可以調用CreateUser方法創建用戶了
用戶創建完成後,SDK會自動爲用戶進行登錄,無需再調用登錄接口了
3. 對於非首次使用的用戶,我們就需要進行登錄操作了,基於之前註冊時的設置,登錄分爲兩種,驗證碼登錄和密碼登錄,如果是密碼登錄,我們調用的是CredentialwithPassword來創建一個credential,而驗證碼登錄則是使用CredentialWithVerifyCode來創建credential。而後我們調用SignIn方法傳入這個credential進行登錄的操作。這裏給大家展示一下驗證碼登錄的示例
以上我們就成功接入了Android版本認證服務中的手機賬號認證。如果覺得簡單那就趕快行動起來試試吧。