Я пытаюсь целую вечность, чтобы получить интеграцию OAuth 2.0 в моем приложении iPhone.
Я искал и искал библиотеки, учебные пособия и т.д. Но они все привели меня в тупик. Главная проблема заключается в том, что у них либо устаревший код, либо они просто не работают, либо у них есть документация, но его очень трудно следовать (для меня в любом случае...).
Лучшая библиотека OAuth2, которую я смог найти для Xcode, таков: https://github.com/nxtbgthng/OAuth2Client
Но основная проблема с этим заключается в том, что он, кажется, ничего не делает... Я следил за всей документацией и инструкциями, которые были с ней, но после создания и запуска он, похоже, не аутентифицируется...
Итак, я думаю, что мой главный вопрос: кто-нибудь знает какие-либо хорошие и обновленные учебники OAuth 2.0 для Xcode или любых библиотек для такой вещи?
Потому что я действительно боюсь в данный момент....: (
Спасибо за ваше время, Дэн.
ОБНОВЛЕНИЕ 2: Вот мой код (Идентификатор приложения и секрет удалены для обеспечения безопасности):
- (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"];
}