我有传出和传入的URI
self.outgoingRedirect = @"https://courseera.com";
self.incomingRedirect = @"https://myscheme.com";
,其余代码看起来像这样 -
[[NXOAuth2AccountStore sharedStore]
setClientID:@"xxx"
secret:@"xxx"
authorizationURL:[NSURL
URLWithString:@"https://api.instagram.com/oauth/authorize"]
tokenURL:[NSURL
URLWithString:@"https://api.instagram.com/oauth/access_token"]
redirectURL:[NSURL URLWithString:self.outgoingRedirect]
forAccountType:@"Instagram"];
返回YES; }
(BOOL) application:(UIApplication )app openURL:(NSURL *)url options:
(NSDictionary *)options{
if([self.incomingRedirect containsString:[url scheme] ] &&
[self.incomingRedirect containsString:[url host]]){
NSURL *constructed = [NSURL URLWithString:[NSString
stringWithFormat:@"%@?%@",self.outgoingRedirect,[url query]]];
NSLog(@"We received a callback URL");
return [[NXOAuth2AccountStore sharedStore]
handleRedirectURL:constructed];
}
else{
return [[NXOAuth2AccountStore sharedStore] handleRedirectURL:url];
}
};
我收到错误,因为“重定向URI与注册的重定向URI不匹配。”
答案 0 :(得分:0)
问题是Instagram只是将您重定向到myscheme.com
。相反,您需要做的是将redirectURI
设置为https://myscheme.com/instagram.html?igCLIENTID://authorize
,并在项目中设置redirect uri
instagram
为igCLIENTID://authorize
以及my mycheche网站上的instagram.html
igCLIENTID://authorize
网页被点击尝试重定向到https
ios会认出这一点并知道您的应用将处理此问题并将启动您的应用。 Instagram之前只开始执行此操作,您可以使用非redirect uri
/**
* The user has been authenticated.
*
* @param \Illuminate\Http\Request $request
* @param mixed $user
* @return mixed
*/
protected function authenticated(Request $request, $user)
{
$this->setUserSession($user);
}
但不再是这种情况。