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

时间:2016-11-15 15:57:23

标签: oauth-2.0 wso2 wso2is openid-connect

我正在编写一个REST API供我们的内部应用程序使用。我需要使用代码授权通过http请求

登录和注销身份服务器的用户

enter image description here presentation

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

  • / authorize(从服务器端调用)
  • / accesstoken(从服务器端调用)
  • / login
  • /注销

CASE:

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

enter image description here presentation

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

如何在前端拥有基本登录页面并使用request path authenticator获取授权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 request path authenticator。此请求应返回授权code。如果您希望id_token只需使用隐式流和请求路径身份验证。