使用PHP的Okta登录小部件不起作用

时间:2017-07-14 03:27:09

标签: okta okta-api

我尝试使用给定here

的示例应用程序设置OAuth工作流程

但是出于某种原因,在我输入我的okta用户ID和密码之后,我从来没有在我的回叫URL上获得控制权,应用程序只是无限期挂起。

然而,使用最小身份验证的正常Javascript Singn-in窗口小部件(检查此link)确实有效,我将控件返回到重定向URL。 但这不适用于OAuth2工作流程......这对我来说完全没用。因为它只是使用Okta租户应用提供身份验证服务,它会将您重定向到您的应用URL。这不提供任何授权授权工作流程或其他OAuth2复杂工作流程。对于某些应用程序可能很有用,但对于要检索用户配置文件的企业应用程序可能没用,并根据从OKTA检索到的用户配置文件数据创建登录会话。

  

所以我的问题是为什么OAuth工作流程无法使用使用JS登录窗口小部件的PHP应用程序?为什么这个代价高昂的服务在此页面上没有任何说明或警告(这不是免费的,许多组织可能会为此付出代价)?

我花了将近一天的时间尝试根据此link上的说明设置我的授权服务器,但没有任何作用。知道什么一定出错吗?

  

这整个示例是否仅在联系OKTA支持以启用授权服务器功能后才有效?因为,我还看到了一个文档here,它说这是早期访问(EA)功能(最近可能在OKTA中添加了?非常令人沮丧的体验)。

BTW我发送电子邮件给他们的客户支持以启用此授权服务器功能,以防我忘记了什么。如果这不起作用,那么我将不得不使用Laravel 5.4 PHP框架创建我自己的OAuth2服务器,这可能是最快的解决方案,并且100%免费。

我还尝试按照here提供的说明测试授权服务器设置。 我成功地获得了以下终点:

/oauth2/:authorizationServerId/.well-known/openid-configuration

但是我无法使用api端点获得任何范围和声明:

/api/v1/authorizationServers/:authorizationServerId/scopes

简而言之,到目前为止,我无法测试授权服务器以使我的授权授权工作流程正常工作。

  

我在哪里可以找到一些故障排除建议?

     

还有其他方法可以检查我是否正确配置了我的OKTA授权服务器吗?

1 个答案:

答案 0 :(得分:0)

我发现为PHP示例提供的JS脚本不适合我正在处理的工作流程。因此,在更改了JS脚本后,事情就开始起作用了。

编辑:另请注意,设置授权服务器是OKTA中的一项新功能(它是早期访问功能)。默认情况下不启用它。因此,您需要联系OKTA支持团队以启用其提供的授权服务端点和功能。