【问题标题】:How to store Authorization Code in Nest Thermostat when PIN-based基于 PIN 时如何在 Nest Thermostat 中存储授权码
【发布时间】:2015-05-16 01:13:32
【问题描述】:

我正在尝试在我的应用程序中实现 Nest Thermostat 我可以成功完全创建 pin 身份验证代码,但是

--->我在存储该 pin 身份验证代码时遇到了问题,因为在检查 if 条件 if ([[url host] isEqualToString:[redirectURL host]]) 之后,

--->如果条件成功则条件总是失败,那么只有我可以存储它并通过使用它来获取访问令牌(根据库)

我按照 Nest 示例代码和库和在线解决方案做了没有用我正在寻找挑选手

请参考我的代码

    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{

        NSURL *url = [request URL];
        NSURL *redirectURL = [[NSURL alloc] initWithString:RedirectURL];

        if ([[url host] isEqualToString:[redirectURL host]])
        {
            NSString *urlResources = [url resourceSpecifier];
            urlResources = [urlResources stringByReplacingOccurrencesOfString:QUESTION_MARK withString:EMPTY_STRING];
            urlResources = [urlResources stringByReplacingOccurrencesOfString:HASHTAG withString:EMPTY_STRING];

            NSArray *urlResourcesArray = [urlResources componentsSeparatedByString:SLASH];

            NSString *urlParamaters = [urlResourcesArray objectAtIndex:([urlResourcesArray count]-1)];

            NSArray *urlParamatersArray = [urlParamaters componentsSeparatedByString:AMPERSAND];
            NSString *keyValue = [urlParamatersArray lastObject];
            NSArray *keyValueArray = [keyValue componentsSeparatedByString:EQUALS];

            if([[keyValueArray objectAtIndex:(0)] isEqualToString:@"code"]) {

                [self.delegate foundAuthorizationCode:[keyValueArray objectAtIndex:1]];

            } else {
                NSLog(@"Error retrieving the authorization code.");
            }
            return NO;
        }
        return YES;
    }

显示 pin 的 webview 是我只能看到的屏幕。在那之后我击中了它。迫切需要帮助

【问题讨论】:

  • 任何关于它的帮助都会很棒.....
  • 请分享代码将在这里执行的过程..以及一些示例重定向网址

标签: ios iphone cocoa-touch firebase nest-api


【解决方案1】:

在注册客户端时使用web base身份验证并填写重定向url,该重定向url在客户端页面上不应为空,然后一旦您将设备登录凭据输入到您的应用程序中,它将自动重定向并给出身份验证令牌然后将使用该身份验证令牌提供访问令牌,通过使用该访问令牌,您可以获得设备详细信息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-31
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多