我正在学习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。