Sup*_*off 27 authentication shared-libraries ios oauth-2.0
我已经尝试了很长时间才能在我的iPhone应用程序中获得OAuth 2.0集成.
我搜索并搜索了图书馆,教程等......但是他们都把我引向了死胡同.我遇到的主要问题是他们要么已弃用代码,要么他们只是不工作或者他们有一些文档,但它真的很难遵循(无论如何......).
我能为Xcode找到的最好的OAuth2库是这样的:https://github.com/nxtbgthng/OAuth2Client
但是那个问题的主要问题是它似乎没有做任何事情......我已经遵循了随附的所有文档和说明,但是在构建和运行之后,它似乎没有进行身份验证....
所以我想我的主要问题是:有没有人知道任何关于Xcode或任何库的任何好的和最新的OAuth 2.0教程?
因为我现在真的很挣扎.... :(
谢谢你的时间,丹.
更新2:这是我的代码(为安全起见删除了应用ID和密码):
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
oauthClient = [[LROAuth2Client alloc]
initWithClientID:@"MY_CLIENT_ID"
secret:@"MY_APP_SECRET"
redirectURL:[NSURL URLWithString:@"app://instagram-callback/?code="]];
oauthClient.delegate = self;
oauthClient.userURL = [NSURL URLWithString:@"https://api.instagram.com/oauth/authorize/?client_id=ab6dc96859bf43b3a488199ec72d9964&redirect_uri=app://instagram-callback/?code=&response_type=code"];
oauthClient.tokenURL = [NSURL URLWithString:@"https://api.instagram.com/oauth/access_token/"];
[oauthClient authorizeUsingWebView:myWebView];
}
- (void)oauthClientDidReceiveAccessToken:(LROAuth2Client *)client;
{
LROAuth2AccessToken *token = client.accessToken;
[NSKeyedArchiver archiveRootObject:token toFile:@"Path/To/MyAccessToken"];
}
- (void)checkAccessTokenForExpiry:(LROAuth2AccessToken *)accessToken;
{
if ([accessToken hasExpired]) {
[oauthClient refreshAccessToken:accessToken];
}
}
- (void)oauthClientDidRefreshAccessToken:(LROAuth2Client *)client;
{
LROAuth2AccessToken *token = client.accessToken;
[NSKeyedArchiver archiveRootObject:token toFile:@"Path/To/MyAccessToken"];
}
Run Code Online (Sandbox Code Playgroud)
Instagram 文档中说有两种身份验证方法。一种显式(用于服务器端身份验证)和一种隐式,用于客户端中的身份验证(无服务器)。
您正在应用程序内使用 Explicit ,请尝试更改userURLtohttps://instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=token和tokenURLto http://your-redirect-uri#access_token=ACCESS-TOKEN。
| 归档时间: |
|
| 查看次数: |
25153 次 |
| 最近记录: |