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

相关文章
相关标签/搜索