zoukankan      html  css  js  c++  java
  • 15.oauth2 + oidc 实现 server部分


    OAuth主要做授权。
    OpenIdConnect简历在OAuth2.0基础之上的,相结合
    客户端、授权中心、Resource Owner用户本身(资源的拥有者)、Resource Server

    通过ProfileService把Cliams转换返回给客户端

    这个代码里面已经包含了最新的登陆和注册

    启动程序



    在这个例子之上进行IdentityServer的开发。把MVC的注册和登陆变成一个单点登陆,把他的登陆信息返回给第三方

    输入IdentityServer4,添加上最新的包引用







    这时候需要一个config,创建一个config.cs的类,把之前写过的config拷贝过来


    现在是个空的

    之前代码拷贝过来,只保留一个Client

    这里我们用隐式的流程,隐式模式和授权码的模式非常像


    然后再定义ApiResource

    再定义TestUser在这个命名空间下



    claims先去掉,这里先不加

    这几个都是config内获取的


    这里还需要加IdentityResource

    所以这里需要再新建一个方法返回IdentityResource的可枚举类型

    openId、Profile、Email是IdentityServer测试的方法给我们提供的

    把它添加到config的配置里面

    最后在mvc的这里添加上IdentityServer()的中间件
    这里的UseAuthentication我们去掉了

    IdentityServer()的中间件

    这样我们就把IdentityServer添加到我们的MVC程序里了

    在Controller里面把逻辑实现

    把原来登陆的逻辑去掉。
    这里注释掉



    注册的代码全部注释掉

    这里注释

    使用SignOutAsync来替代


    改造登陆

    users注入一下

    修改这里的登陆的ViewModel,Emial修改为UserName

    登陆页面view内也要绑定为UserName



    登陆成功我们需要传一些参数过去。这样就通过IdentityServer4实现了登陆,并实现了跳转

    这样我们登陆的逻辑就实现完了







     

  • 相关阅读:
    android学习笔记(一)
    中缀表达式转后缀表达式
    evernote使用推荐
    guns框架初试(一)eclipse环境配置之lombok
    guns框架初试(三)eclipse环境配置之成功运行
    guns框架初试(二)环境配置之数据库配置以及被迫修改数据库密码
    ssh 连接出错
    linux网银
    vimrepress
    gnome3自启动
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/10967495.html
Copyright © 2011-2022 走看看