繁体   English   中英

HTTP请求WSO2 Identity Server用户身份验证

[英]HTTP requests for WSO2 Identity Server user authentication

我正在编写一个REST API供我们的内部应用程序使用。 我需要通过http请求使用代码授权登录和注销身份服务器的用户

在此输入图像描述 介绍

我需要知道如何调用以下端点:

  • / authorize(从服务器端调用)
  • / accesstoken(从服务器端调用)
  • /登录
  • /登出

案件:

我们公司有很多应用。 我想要在他们的company-x帐户中进行一次身份验证,就像你只需要登录atlassian帐户来访问jira和confluence cloud一样。 我正在为我们的前端开发人员工作的REST API(截至目前)。

在此输入图像描述 介绍

我不能简单地让用户登录到WSO2 IS,因为他们只需要一个模块来管理他们的company-x配置文件和其他基本内容。 通过这个我认为我有两个选择:

  1. 自定义WSO2 Identity Server UI和权限。 但问题是, 我仍然需要一个端点来获取id_token 我也不确定这是否是正确的方法。
  2. 知道如何调用/授权,/ accesstoken,/ login和/ logout端点并编写我自己的最小必需UI并提供将响应id_token的端点

如果您使用代码授予类型,则会有从/authorize/login的浏览器重定向。 我不认为你可以通过REST调用来处理它。 (您可以通过在每个302响应的location标头中调用url来处理它。但我不认为这是一个很好的方法。)如果你想开发一个REST API,我认为password授权类型将是更适合的。

如何在前端使用基本登录页面并使用请求路径验证器获取授权code / id_token

基本上这意味着不是将用户重定向到IS登录页面,而是从您创建的基本登录页面中提取用户名和密码,并发送授权授权请求以及凭据。

所以您的授权代码请求将是:

https://localhost:9443/oauth2/authorize?response_type=code&client_id=JqB4NGZLMC6L3n4jz094FMls2Joa&redirect_uri=https://localhost/callback&scope=openid&sectoken=<sec_token>

sec_token = base64encode(用户名:密码)

您需要在服务提供商配置中添加basic-auth 请求路径验证器 此请求应返回授权code 如果您想要id_token只需使用隐式流和请求路径身份验证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM