GitHubOAuthController 0.2.3

GitHubOAuthController 0.2.3

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2016年3月

Daniel Khamsing维护。



简单的 GitHub OAuth 控制器,适用于 iOS

安装

手动

将 GitHubOAuthController 文件夹中的文件添加到您的项目中。

使用方法

使用 Safari 视图控制器进行 OAuth

  • .plist 中设置 URL 模式

plist

    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLName</key>
            <string>com.dkhamsing.GitHubOAuthDemo</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>githuboauthdemo</string>
            </array>
        </dict>
    </array>
// configure (get redirectUri from plist)
[[GitHubOAuthController sharedInstance] configureForSafariViewControllerWithClientId:kClientId clientSecret:kClientSecret redirectUri:redirectUri scope:kScope];

// show login
[[GitHubOAuthController sharedInstance] presentOAuthSafariLoginFromController:self];

// get access token
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
    NSString *source = options[UIApplicationOpenURLOptionsSourceApplicationKey];
    if ([source isEqualToString:gh_safariViewService]) {        
        [[GitHubOAuthController sharedInstance] handleOpenUrl:url options:options success:^(NSString *accessToken, NSDictionary *raw) {
            NSLog(@"oauth with safari view controller: retrieved access token: %@ \nraw: %@", accessToken, raw);
        } failure:nil];        
    };

    return NO;
}

传统的应用内 OAuth

#import "GitHubOAuthController.h"

GitHubOAuthController *oauthController = [[GitHubOAuthController alloc] initWithClientId:kClientId clientSecret:kClientSecret scope:kScope success:^(NSString *accessToken, NSDictionary *raw) {
  NSLog(@"access token: %@ \nraw: %@", accessToken, raw);
} failure:nil];

[oauthController showModalFromController:self];

示例

GitHubOAuthController 包含一个示例项目。

感谢

此项目受到 Caleb Davenport 的 SimpleAuth 的启发。

联系方式

许可证

GitHubOAuthController 在 MIT 许可下提供。有关更多信息,请参阅 LICENSE 文件。