• iOS OAuth2.0的使用


    OAuth是一个关于授权(authorization)的开放网络标准,定义了四种授权方式:

    • 授权码模式(authorization code)
    • 简化模式(implicit)
    • 密码模式(resource owner password credentials)
    • 客户端模式(client credentials)

    具体的模式介绍就不多说了,我用到的是客户端模式授权,没有用官网提供的几种解决办法,我这里用的是AFOAuth2Manager,实现起来很简单。

    github地址:  https://github.com/AFNetworking/AFOAuth2Manager

    如果你是密码模式,可以直接用下面的方法实现:

    NSURL *baseURL = [NSURL URLWithString:@"http://example.com/"];
    AFOAuth2Manager *OAuth2Manager =
                [[AFOAuth2Manager alloc] initWithBaseURL:baseURL
                                                clientID:kClientID
                                                  secret:kClientSecret];
    
    [OAuth2Manager authenticateUsingOAuthWithURLString:@"/oauth/token"
                                              username:@"username"
                                              password:@"password"
                                                 scope:@"email"
                                               success:^(AFOAuthCredential *credential) {
                                                   NSLog(@"Token: %@", credential.accessToken);
                                               }
                                               failure:^(NSError *error) {
                                                   NSLog(@"Error: %@", error);
                                               }];
    如果是客户端模式,方法如下,
    NSURL *baseURL = [NSURL URLWithString:@"http://example.com/"];
    AFOAuth2Manager *OAuth2Manager =
                [[AFOAuth2Manager alloc] initWithBaseURL:baseURL
                                                clientID:kClientID
                                                  secret:kClientSecret];

    [OAuth2Manager authenticateUsingOAuthWithURLString:@"

    /oauth/token

    " scope:@"scope" success:^(AFOAuthCredential * _Nonnull credential) {

            

            NSLog(@"---成功");

            NSLog(@"Token: %@", credential.accessToken);

        } failure:^(NSError * _Nonnull error) {

            NSLog(@"---失败");

        }];

     

  • 相关阅读:
    Spring基础篇——AOP切面编程
    像我这样的人
    Java 内部类
    SQLite 带你入门
    Spring基础篇——通过Java注解和XML配置装配bean
    Spring基础篇——自动化装配bean
    VMware虚拟机+CentOS系统安装
    Spring基础篇——Spring容器和应用上下文理解
    Spring基础篇——DI/IOC和AOP原理初识
    Web 项目刚要打包,却找不到项目资源?
  • 原文地址:https://www.cnblogs.com/cui-cui/p/7107982.html
Copyright © 2020-2023  润新知