gpt4 book ai didi

ios - iOS Square Connect商家授权问题

转载 作者:行者123 更新时间:2023-12-01 20:12:09 26 4
gpt4 key购买 nike

我无法在Square OAuth 流程中授权商人,并且在Objective-C中使用AFNetworking 2.0。我将方法称为“openURL”,它打开了Square登录页面。在这里,我可以以商人身份登录,但是之后再也不会返回到该应用程序。由于我在这里很迷失,因此非常感谢我为实现此功能而需要做的建议和代码示例。提前致谢!

OPEN URL调用

使用客户端ID和Safari上的重定向URL,“openURL”调用成功将用户重定向到“https://connect.squareup.com/oauth2/authorize”。登录并按“允许”获得权限后,它不会跳回到应用程序。我尝试的代码如下:

NSString *urlString= @"https://connect.squareup.com/oauth2/authorize";
NSString *clientID = @"client_id=[CLIENT_ID]";
NSString *responseType = @"response_type=code";
NSString *fullURL = [NSString stringWithFormat:@"%@?%@&%@", urlString, clientID, responseType];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:fullURL]];

我认为这可能与URLSchemes和URL标识符有关。 Square门户上的“重定向URL”应该与URL方案或URL标识符相同吗? 我同时尝试了两次,但没有成功。

例如,我的Info.plist中的以下值正确吗? 我的URL方案单个项目是“iostestapp”,我的URL标识符是“com.name.iostestapp”。 Square门户中的“重定向URL”是“ https://com.name.iostestapp”。

除了我提供的代码外,还有其他需要吗? 我已经在网上看到了很多有关OAuth的处理程序,但是在Square文档中却没有看到。

最佳答案

用户必须授权您的开发人员应用程序通过API访问其数据。为此,您必须通过Square提供的Oauth流程指导用户。以编程方式对此URL执行GET请求是不够的。您必须在Web浏览器中引导用户完成oauth流程。

您可以通过打开具有以下URL的网页https://connect.squareup.com/oauth2/authorize?client_id=CLIENT_ID向用户展示Oauth流。 CLIENT_ID是在Square开发人员门户中注册开发人员应用程序时提供的应用程序标识符。开发人员门户位于https://connect.squareup.com/apps。在开发人员门户中,您还必须指定oauth redirect_uri。用户授权您的应用程序后,它们将被重定向到您使用访问 token 或一次性使用代码(您可以将其交换为访问 token )指定的redirect_uri。

另外,请注意,当您在开发人员门户中创建应用程序时,我们会为您提供一个“个人访问 token ”,您可以使用该 token 代表您自己的用户执行API调用并测试该API。

关于ios - iOS Square Connect商家授权问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37580469/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com