Tag: oauth2

ORY Hydra,Vapor 3和iOS 12的OAuth2实现

第4部分:使用AppAuth在iOS上设置OAuth2授权 关于使用ORY Hydra,Vapor和iOS设置OAuth2的系列教程的这一部分将重点介绍构建iOS客户端。 如果用户成功登录,它将是一个非常简单的应用程序,仅显示一个用于创建帐户的按钮并切换到成功消息。我们将使用一个名为AppAuth的库与我们的授权服务器进行交互。 教程系列 第1部分:ORY Hydra授权服务器的介绍和设置 第2部分:Vapor后端中的用户管理 第3部分:将Vapor后端设置为ORY Hydra的身份提供者 第4部分:使用AppAuth在iOS上设置OAuth2授权(您在此处) 先决条件 您应该检出上面列出的系列的先前部分。 创建iOS Xcode项目 打开Xcode或您选择的编辑器,然后创建一个新的Single View应用程序。 已经为您提供了ViewController.swift类,其视图已在情节提要中配置。 打开情节ViewController ,然后在ViewController上添加一个按钮,以触发身份验证流程。 然后添加带有成功消息的隐藏标签,在用户成功登录后,我们可以显示该标签。 接下来,打开ViewController.swift文件,并拖动其中两个按钮的插座,以及一个按钮操作的插座。 调用该函数authorize 。 另外,我们需要允许该应用处理非SSL URL。 为此,我们需要在Info.plist添加另一个名为App Transport Security Settings条目: 触发授权请求 创建授权请求后,我们现在需要实际触发该请求。 我们可以使用AppAuth提供的便利功能来创建一个新的OIDExternalUserAgentSession ,并将其保存在AuthService 。 将此行添加到我们的AuthService的顶部: 在AuthService.swift中保留当前的身份验证流 然后修改authorize看起来像这样: AuthService.swift中的授权功能 首先,我们将函数的签名更改为采用UIViewController以及成功和错误情况的回调。 然后,通过使用之前创建的请求创建新的授权会话来触发授权请求。 创建授权会话后,我们将收到OIDAuthState对象或错误。 OIDAuthState是OIDAuthState提供的便利类,其中包含有关用户授权状态的所有相关信息。 返回到ViewController并在点击创建帐户按钮时调用此函数。 在ViewController.swift中授权功能 我们创建了AuthService的实例,并在按钮点击时调用authorize 。 如果我们可以成功授权用户,则显示成功消息而不是按钮。 iOS部分就是这样。 测试我们的设置 现在,我们开发了实现OAuth2授权所需的所有三个部分。 为了能够对其进行测试,我们需要启动Hydra服务器,运行后端并运行iOS客户端。 启动Hydra Server:回顾第1部分,并按照以下步骤启动Hydra Server并创建客户端 […]

OAuth2,Swift 3,Instagram

IG中似乎有很多变化。 许多OAuth2回购,似乎都有错误,或者真的不容易转换成Swift3。 想知道是否有人有移动到Swift3的解决scheme,并与Instagram的最新变化工作? 最受欢迎的scheme OAuth2的实现似乎是其中比较复杂的事情之一。 惊讶IG没有提供他们自己的示例文档如何与iOS做到这一点。 他们只有基于Web的解决scheme的文档。 也许是在那里酿造的东西? 他们对工作人员有无数的编码员。 但就目前而言,在寻找一个(敢说我?)简单的解决scheme。 太感谢了。 🙂