我正在编写一个 IOS SDK 并实现 oauth2.0 流程。
我在 IOS SDK 中有以下 oauth2.0 流程,以允许开发人员控制我的用户帐户:
- 使用 mysite/oauth2.0 作为 url 打开 webview
- 用户登录/注册。
- Mysite.com 重定向到带有查询字符串中的代码或错误的特殊 url。
- Webview(通过 shouldStartLoadWithRequest 函数)识别特殊 url 并自行关闭。
然后它将代码传递给父控制器的委托函数。
[self.delegate processOauth2.0Code: code]
如果出现错误(可能用户拒绝了 oauth2.0),它会创建 NSError 对象并将 NSError 对象发送到单独的委托函数)
[self.delegate processOAuth2.0Error: error]
- 父控制器功能然后将代码发送到 Web 服务器
- Web 服务器使用代码及其应用程序密钥对我的站点进行 api 调用以检索访问令牌。
这样的 Oauth2.0 流程是在移动应用程序中设计的吗?
你们对我改进设计有什么建议吗?
代码和错误有两个委托函数是否正常?