OAuth2 client_id和密钥vs授权令牌

时间:2020-02-26 19:17:32

标签: angular security oauth oauth-2.0

我正在学习oauth2。从理论上讲,我知道客户端ID用于开始授权过程并请求访问令牌,然后可以使用该令牌访问服务器资源。

但是现在我正在遵循一个教程,使用oauth2构建Angular应用程序以从github请求数据,并且在此应用程序中,仅将client_id和密码发送到服务器,并且我们可以访问te资源。我了解,此应用程序不涉及任何授权令牌。

所以,我的具体问题是:oauth2中的Client_id,客户端机密和授权令牌之间有什么区别,每个模块的具体功能是什么?

用于从github请求数据的角度服务代码:

@Injectable()
export class SearchService {

    private clientId = 'some_client_id';
    private clientSecret = 'some_client_secret';
    private credentials :string;

    usernameEvent = new EventEmitter<string>();

    constructor(private _httpClient: HttpClient) {
        this.credentials = 'client_id=' +this.clientId + '&client_secret=' + this.clientSecret;
     }

    getUser(username: string) {
        return this._httpClient.get('http://api.github.com/users/' + username + '?' + this.credentials);
    }

    getUserRepos(username: string) {
        return this._httpClient.get('http://api.github.com/users/' + username + '/repos?' + this.credentials);
    }

}

我希望这个问题有意义。我发现特别难以学习oauth2。

0 个答案:

没有答案