zoukankan      html  css  js  c++  java
  • OpenAM之OAuth2配置

    OpenAM OAuth2

    OpenAM是很强大的,OAuth2的配置也相对简单,分3步走

    • 配置OAuth2 Application(=OAuth2 connect client / ≈OAuth2 agent)
    • 配置OAuth2 Service Provider(Configure OAuth2 authorization server)
    • 验证OAuth2的code/access_token/tokeninfo是否正确

    配置OAuth2 Application

    1.进入顶层Top Level Realm,找到Applications->OAuth2
    在这里插入图片描述
    2.New一个Agent,这里看到的Name,就是client_id
    在这里插入图片描述

    3.这里的Client password要记住,也就是后面要用的client_sercret

    在这里插入图片描述
    4.把要授权跳转的网站,配置进去Redirection_URIs,这里我们用http://java.bejson.com/generator/ 在这里插入图片描述
    5.Scope可以设置几个,例如mail/employeenumber
    在这里插入图片描述
    *。至于Scope怎么获取,可以参考以下方法,从Subjects里面打开找到你的用户,然后修改,然后使用Chrome的F12查看元素,EntityEdit.XXX就是想要的Scope了,这个值后面tokeninfo的时候会获取到。
    在这里插入图片描述

    配置OAuth2 Service Provider

    1.DashBoard有个Common Tasks,找到一个Configure OAuth Provider的菜单,配置Configure OAuth2
    在这里插入图片描述

    2.基本没什么可以选,默认即可。在这里插入图片描述
    3.正常保存后,可以再Services里面找到一个OAuth2 Provider
    在这里插入图片描述
    4.里面有些配置可以定制,不过作为demo一般默认就够了在这里插入图片描述

    验证OAuth2的code/access_token/tokeninfo是否正确

    1.首先是code,开始构建url,关键是几个字段

    http://localhost:8099/openampro/oauth2/realms/root/authorize?client_id=tomcatadmin&response_type=code&scope=employeenumber&redirect_uri=http://java.bejson.com/generator

    • client_id=tomcatadmin,前面agent/client里面的Name
    • response_type=code,这里是code,当然你可以粗暴一点设置为token直接获取access_token
    • scope=employeenumber,相当于你要tokeninfo可以获取的信息
    • redirect_uri=http://java.bejson.com/generator 必须是配置再重定向uris里面的地址

    2.跳转并获取Code

    在这里插入图片描述
    3.从地址提取codede7f03c5-a72c-4d74-acae-b7671fbbeb19
    在这里插入图片描述

    4.使用Postman构造POST请求,获取ACCESS_TOKEN

    • url :

    http://localhost:8099/openampro/oauth2/realms/root/access_token

    • 参数:

    client_id:tomcatadmin
    client_secret:tomcat123
    code:de7f03c5-a72c-4d74-acae-b7671fbbeb19
    grant_type:authorization_code
    redirect_uri:http://java.bejson.com/generator

    在这里插入图片描述

    5.使用Postman构造GET请求,获取TOKEN INFO

    http://localhost:8099/openampro/oauth2/realms/root/tokeninfo?access_token=5afab977-64b0-4480-83cb-40b140aae1ed

    在这里插入图片描述

    Summary

    到此,一个简单的OpenAM-OAuth2的构建(redirectUrl->code->accessToken->tokenInfo)已经完成,但是这只是一个开始,还有更复杂的配置,更复杂的授权机制,还有LDAP/Subjects同步,Scope设置等等内容需要探索。

  • 相关阅读:
    jQuery实现动态搜索显示功能
    面试
    Struts1和Struts2的区别和对比(完整版)
    JAVA调用增删改的存储过程
    Spring MVC入门
    jQuery Ajax通用js封装
    js ==与===区别
    shell脚本awk
    C++对象模型初窥
    再见,2021
  • 原文地址:https://www.cnblogs.com/taosiyu/p/12097868.html
Copyright © 2011-2022 走看看