Fix lỗi github không còn dùng mật khẩu đăng nhập nữa

Github Support for password authentication was removed. Please use a personal access token instead

2022-02-19 796 lượt xem

Vấn đề

Khi pull code mới từ github về thì gặp lỗi như sau : 

Nguyên nhân và khắc phục

Do github đã thay đổi cách xác thực và đã được thông báo trước đó. Bạn có thể xem thêm ở đây: https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/

Bạn cần truy cập vào github để cấp quyền lại cho repos được có quyền pull code mới về.

Cách thực hiện

truy cập thẳng vào ổ chứa Token của thằng github của chính mình, chọn Generate Token

Nhớ login github trước rồi truy cập vào đường link này : https://github.com/settings/tokens

Giao diện kiểu kiểu thế này : 

Bạn bấm vô cái nút : Generate New Token

Ra được bảng điều khiển form nhập liệu thế này : 

ở đây bạn điền những thứ bạn cần, cả quyền truy cập các thứ nữa. ví dụ chỗ :

Note là để note lại cái tên cho gợi nhớ cho dễ. Expiration là thời gian sống của token. Rồi chọn role thì bạn click repos nếu muốn thao tác với repos. CHọn cái gì thì xài cái đó. Quất hết luôn thì hơi nguy hiểm nếu bị lộ token nha. 

Cuối cùng bấm nút tạo token : Generate new Token

Bạn được cái token kiểu kiểu thế này: ghp_0G7G61RyutSFHhTzMDreGRLjmks4Tga0LrHIs

Bây giừo cần update token vào từng kiểu thiết bị khác nhau nè: 

Update token vào thiết bị

Windows OS

Đi đến Credential Manager từ Control Panel => Windows Credentials => find git:https://github.com => Edit => Thay Password bằng Github Personal Access Token của bạn => Vậy là hoàn tất.

MAC OS

sử dụng Spotlight để tìm ứng dụng : Keychain access ( tiếng việt là : Truy cập chuỗi khoá ). tìm kiếm github.com => Tìm mục nhập internet password cho github.com => Chỉnh sửa hoặc xóa mục cho phù hợp => Vậy là hoàn tất.

Linux OS

Cập nhật mới thông tin của biến global trong máy của bạn bằng cách dùng: 

$ git config --global user.name "your_github_username"
$ git config --global user.email "your_github_email"
$ git config -l

Thao tác tiếp theo là bạn tương tác với server. Nếu bạn tương tác với lệnh pull thì cứ pull thôi, hoặc ngoài ra có thể clone, push, hoặc bất kể 1 điều gì đó mà github muốn bạn xác thực. 

ví dụ cụ thể mình có thể dùng clone như sau: 

$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY
> Cloning into `Spoon-Knife`...
$ Username for 'https://github.com' : username
$ Password for 'https://github.com' : give your personal access token here

Xong rồi thì nhớ lưu cache hệ thống khỏi lần sau pull hay push cứ phải xác thực mệt lắm. 

git config --global credential.helper cache 
///

* Lưu ý sau này:  Nếu sau này bạn muốn xoá cache này đi thì bạn có cú pháp lệnh như sau : 

$ git config --global --unset credential.helper
$ git config --system --unset credential.helper

Xong ! Chúc các bạn thành công!