gpt4 book ai didi

cocoa - 如何监听 native Cocoa 应用程序的 OAuth2 重定向 uri

转载 作者:行者123 更新时间:2023-12-03 17:35:32 25 4
gpt4 key购买 nike

我正在开始第一次尝试制作 Mac 应用程序,首要任务是使用 OAuth 和 Soundcloud 来验证我的应用程序。发送授权请求很简单,但我遇到的问题是如何监听从 Soundcloud 返回的重定向。

我已经在 info.plist 中设置了 URL 方案,并将应用程序设置为监听传入请求,但是当我尝试注册时,我没有得到响应。我已经用 safari 测试了该 URL,效果很好。

这是我的应用程序委托(delegate)的代码片段:

- (void) applicationDidFinishLaunching:(NSNotification *)aNotification
{
NSAppleEventManager *appleEventManager = [NSAppleEventManager sharedAppleEventManager];
[appleEventManager setEventHandler:self
andSelector:@selector(handleGetURLEvent:withReplyEvent:)
forEventClass:kInternetEventClass andEventID:kAEGetURL];

[[NXOAuth2AccountStore sharedStore] setClientID:@"myClientID"
secret:@"superSecretSecret"
authorizationURL:[NSURL URLWithString:@"https://soundcloud.com/connect"]
tokenURL:[NSURL URLWithString:@"https://api.soundcloud.com/oauth2/token"]
redirectURL:[NSURL URLWithString:@"myApp://connect"]
forAccountType:@"iHopeThisWorks"];

}

- (void)handleGetURLEvent:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent
{
NSURL *url = [NSURL URLWithString:[[event paramDescriptorForKeyword:keyDirectObject] stringValue]];
}

我的猜测是 soundcloud 不知道在哪里可以找到 myApp://connect 因为它只存在于我的本地计算机上。那么我是否需要创建一些像 Web 服务这样的中介来处理 http 请求?如果是这样,中介如何知道如何连接回我的机器?很抱歉,如果这些是基本的或误导性的问题,但就像我之前所说的,这是我第一次尝试类似的事情,我的谷歌搜索未能让我找到解决方案。

最佳答案

通常 OAuth 服务提供商应该为桌面实现资源所有者密码凭据授予 - 在您的情况下他们没有。

但是他们已经对 OAuth2Client 进行了包装 - 在 https://github.com/soundcloud/CocoaSoundCloudAPI 上查找它。文档位于 http://developers.soundcloud.com/docs#authentication .

回答您的问题,如果您的应用程序的字面名称为 myApp,则 URI 为 myApp://connect。请参阅 vimeo 上开发人员的视频:http://vimeo.com/28715664 .

最好阅读文档。

关于cocoa - 如何监听 native Cocoa 应用程序的 OAuth2 重定向 uri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10847148/

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