使用 PKCE 帮助的授权流程.. 对于本机移动后端 restful api asp.net 核心 C#

Authorization Flow with PKCE help.. For Native mobile backend restful api asp.net core C#

我目前正在与我们的外部应用程序开发人员一起构建 api。我已经读到 PKCE 的授权流程绝对是我们进行此设置所需要的,但是我正在寻找一些更详细的建议。

我们现有的 api 使用隐式流程,应用程序将凭据 + 秘密等发送到 api 中的 /Token 端点,然后查找传入的数据并与我们的用户进行比较 table.如果通过,访问令牌将返回给应用程序。

对于这个新流程,我有以下问题......

  1. 我必须使用 Okta Portal/Dashboard 并在那里设置 api 吗?
  2. 是否所有应用程序用户都必须存储在 Okta 仪表板中?我们通常管理我们自己的用户 table,我们从自定义工具添加用户。但是,我假设在使用 Okta 时,我们的自定义工具需要调用 Okta api 端点并从那里注册用户,然后获取用户 Okta ID 并将其存储在我们自己的 table 中。 **有人有我如何从 C# Wpf 应用程序执行此操作的示例吗?
  3. 然后我是否需要向应用程序开发人员请求重定向 URL,并在 Okta 仪表板中将它们设置为本机应用程序。假设我需要给他们一些设定值来保持他们的结束,以允许他们在授权时调用 Okta。
  4. OpenID?????如果需要,我需要这个吗?如何以及在何处实施?

我已经阅读了很多教程,但还没有完全找到合适的教程。

非常感谢

  1. 您需要访问 Okta 管理控制台才能注册客户端应用程序。完成后,您可以使用 Okta OIDC API 的:https://developer.okta.com/docs/reference/api/oidc/。 您可以使用 Okta SDK 来简化开发过程。例如:https://github.com/okta/okta-oidc-ios
  2. 如果 Okta 将成为授权服务器,用户及其凭据将需要存在于 Okta 中
  3. 当您在 Okta 管理控制台中创建本机应用程序时,您需要提供将被列入白名单的重定向 URI
  4. OpenID Connect 1.0 是 OAuth 2.0 协议之上的一个简单身份层。它允许客户端根据授权服务器执行的身份验证来验证最终用户的身份,并以可互操作和类似 REST 的方式获取有关最终​​用户的基本配置文件信息。当您在 Okta 中创建本机应用程序时,将是一个 OIDC 应用程序。