【问题标题】:Redirect URI for browser based client基于浏览器的客户端的重定向 URI
【发布时间】:2018-05-28 18:04:49
【问题描述】:

这个问题可能有一个明显的答案,但我就是想不通:

目前,我的设置在本地运行(IDS、API 和客户端)并且按预期工作。 我的场景中的客户端是一个使用 Electron.NET 在用户桌面上运行的 Angular 应用程序。在 IdentityServer4 配置中,我将重定向 URI 配置如下:RedirectUris = { "http://localhost:4200/signin-oidc" }

我现在的问题是,如果部件不是在我的 PC 上本地运行而是在其他地方运行,如何正确设置 IDS。这意味着 Angular 应用程序在我事先不知道的某些设备上运行(这意味着我不知道它的 IP 地址)。因此我事先不知道正确的 URI,因此无法设置 IDS 所需的 predefined 重定向 URI。

【问题讨论】:

    标签: electron identityserver4 openid-connect


    【解决方案1】:

    您的 Angular 应用程序应该使用隐式授权客户端。隐式客户端用于客户端 Web 应用程序。这些应用程序在用户浏览器中运行并托管在您的网站上。由于它托管在您的网站上,因此您应该始终知道重定向 uri 应该是什么,并且能够将其正确添加到您的身份服务器中。

    例子:

    http://yourawsomesite.com/signin-oidc

    可以找到关于隐式流的文档

    如果您不知道重定向 uri 将是什么,那么我认为您有一个完全不同的问题。

    【讨论】:

    • 哦,看来我不够具体。我的 Angular 应用程序实际上是作为 Electron.NET 中的桌面客户端应用程序运行的,因此没有托管在我的网站上。我会相应地更新我的问题。
    • 您可以尝试使用 localhost,但只有在身份服务器也在您的桌面上运行时才有效。隐式授权类型从未打算在本地环境中使用。
    • 好的,谢谢,我会试试这个。如果这不起作用,那么实现此目的的适当方法是什么?
    • 再次感谢,我会检查一下。但是,我有点困惑,因为我真的认为隐式是正确的流程。我想使用的来自 oidc 客户端的示例也使用了隐式流。我已经启动了示例,它在隐式流中运行良好(也在我的机器上本地运行角度应用程序)。你可以在这里找到实现:github.com/manfredsteyer/angular-oauth2-oidc
    • 它可能有用我只是没有使用 Angular 制作 Windows 应用程序的经验。不确定如何将混合客户端与基于客户端的编程语言一起使用。
    猜你喜欢
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    相关资源
    最近更新 更多