OAuth2 client_id и secret против токена авторизации - PullRequest
0 голосов
/ 26 февраля 2020

я учу oauth2. Теоретически я понял, что идентификатор клиента используется для запуска процесса авторизации и запроса маркера доступа, который затем можно использовать для доступа к ресурсам сервера.

Но сейчас я следую руководству по созданию приложения Angular, использующего oauth2 для запроса данных из github, и в этом приложении только client_id и секретный код отправляются на сервер, и мы получаем доступ к te Ресурсы, насколько я понимаю, токен авторизации не участвует в этом приложении.

Итак, мой конкретный вопрос: в чем разница между Client_id, Client secret и токеном авторизации в oauth2 и какова специфика c функции каждого из них.

Код службы angular, используемый для запроса данных у 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.

...