如何在步骤3中指定应用程序的fusionauth id?
如何指定成功登录后要重定向到我的应用程序?
我假设fusionauth运行在fusionauth.mydomain.com上,myapp.mydomain.com和JWT上的应用程序将在mydomain.com中发布,因此对两者都是可见的。
发布于 2019-06-06 15:30:44
是的,这是可能的。
在步骤3中,您将将浏览器重定向到FusionAuth登录页面。导航到Settings --> Applications UI中的FusionAuth,然后单击应用程序的绿色视图按钮。
这将弹出一个对话框,该对话框将显示集成信息(如果您使用的是最新版本的FusionAuth)。
你会看到这样的链接:
OAuth IdP login URL: https://fusionauth.mydomain.com/oauth2/authorize?client_id=ee31103f-2fc1-4bb5-ba95-ac543693503e&response_type=code&redirect_uri={your URI here}
本例中的client_id参数将标识应用程序到FusionAuth。
如何指定成功登录后要重定向到我的应用程序?
这在FusionAuth中配置为授权重定向,然后在重定向到FusionAuth登录时指定相同的URL。请注意上面示例URL中的redirect_uri参数。这里有这个配置的屏幕截图:https://fusionauth.io/docs/v1/tech/oauth/overview
我假设fusionauth运行在fusionauth.mydomain.com上,myapp.mydomain.com和JWT上的应用程序将在mydomain.com中发布,因此对两者都是可见的。
FusionAuth目前不删除跨域cookie。如果您正在fusionauth.mydomain.com上运行fusionauth.mydomain.com,Cookie将具有相同的域,并且对myapp.mydomain.com不可见。
如果您想利用FusionAuth,那么您不需要检查myapp.mydomain.com上的cookie,如果用户没有登录,只需重定向用户,然后如果用户已经在FusionAuth上进行了SSO会话,则它们将被无缝地重定向回您的应用程序。
您可以查看我们的登录工作流,以确定最适合您的需求的工作流,然后遵循推荐的工作流。https://fusionauth.io/articles/logins/types-of-logins-authentication-workflows
发布于 2019-06-06 15:23:17
这似乎是一个标准的OAuth授权代码授予工作流。我们在这里记录了这个工作流和许多其他工作流程:
https://fusionauth.io/articles/logins/types-of-logins-authentication-workflows
我的猜测是,您的特定工作流很可能是使用JWT和Refresh令牌的单页应用程序的授权代码授权,在这里有文档记录:
https://fusionauth.io/articles/logins/spa/oauth-authorization-code-grant-jwts-refresh-tokens-cookies
其工作方式是将浏览器重定向到FusionAuth的OAuth端点,从而从应用程序启动/oauth2/authorize工作流。您需要提供这些信息才能启动OAuth工作流:
client_id --这可以在FusionAuth中的应用程序配置下找到response_type -对于授权代码授予,这将是coderedirect_uri --这是您希望用户在使用FusionAuth登录后返回的位置。必须在FusionAuth中的应用程序的OAuth配置选项卡下配置此URI。如果您运行的是FusionAuth 1.6.0或更高版本,也可以单击应用程序的“查看”图标,它将显示一个弹出对话框,其中将包含OAuth URL。不过,您仍然需要指定redirect_uri。以下是授权端点的文档页面:
https://fusionauth.io/docs/v1/tech/oauth/endpoints#authorize
一旦完成了这个任务,就需要为您的redirect_uri编写控制器。这个控制器将从FusionAuth生成的URL中获取FusionAuth,并调用/oauth2/token端点。此过程将将授权代码交换为访问令牌,即JWT。
/oauth2/otken端点的文档位于以下位置:
https://fusionauth.io/docs/v1/tech/oauth/endpoints#token
这将帮助您实现您的控制器。
https://stackoverflow.com/questions/56473386
复制相似问题