16.oauth2 + oidc 實現 client部分


把受權和認證過的Server啓動一下先
由於代碼是以前的代碼,因此有些代碼須要清除一下
之類註釋掉,由於這裏暫時沒有用到EFCode了

運行的時候發現一點錯誤

發現登錄的時候使用的RegisterViewModel

因此這裏咱們也須要把以前的Email修改成UserName

啓動程序



登錄就須要輸入這裏的用戶名和密碼

登錄成功,如今是在他本地,
cookie

新建客戶端,把登錄的信息放到客戶端內

新建一個mvc的網站

自己在asp.net core的Authentication認證模塊已經內置實現了openIdConnect
因此在這個mvc網站裏面不要添加任何第三方的引用,
咱們惟一要作的就是在這個地方,把Authentication加進來
先添加引用,VScode的只能感知不是很好用,須要先選擇一下咱們的項目


在命令行 到mvcCient的項目文件夾下 ,而後運行dotnet restore。控制檯的終端也須要在咱們的項目下

只能感知沒有調出來,直接複製完整的引用路徑過來。而後切換到VS2017裏面

VS2017把這兩個項目加進來





mvc的客戶端設置爲5001啓動

Server設置爲5千來啓動
mvc

服務端

原來這裏加了一個Client,若是如今使用OpenIdConnect的話這裏須要加一些配置

這個配置就是咱們要調轉的地址,正常狀況下咱們是存在數據裏的 不是直接改代碼的,在asp.net mvc中這個地址的後面的signin-oidc是固定的
這個地址會自動處理登錄的邏輯

退出返回的地址


在設置Scope

運行服務端

客戶端的HomeController設置必須登錄才能訪問


客戶端也運行起來,客戶端啓動後報錯

客戶端把這裏也改爲5001

這兩個地方都要改一下


啓動後就成功個跳轉了


跳轉到 consent這樣的一個頁面,是要作受權的地方,咱們這裏沒有添加,因此還須要改一個配置

這裏咱們把Consent設置爲false,這個頁面就是用於點是否容許受權的頁面

再次運行客戶端,由於登錄的cookie已經保存過了 ,因此應該會自動跳轉回家去。

成功跳轉到了5001的界面。說明咱們已經登錄成功了

把這段cookie複製出來看一下



把cookie都刪除掉


刪除後就會跳轉到登錄頁面


服務端以前這裏沒有加上這段代碼,如今加上


拿到Claims頁面後,在客戶端顯示出來




Server端咱們返回的是這些信息





由於沒有添加ProfileService因此返回的信息有限。接下來會添加 對profile進行補充











 asp.net

相關文章
相關標籤/搜索