Please go through the points below and answer questions in the comments and discuss them with your mates.
- What are the benefits of registration and signing in on GitHub?
- What is the difference between authentication and authorization?
- How can we prevent a request from being fulfilled? Like trying to access a private GitHub repo of someone else?
- After the user logs in using the backend end-point we create, how can we can keep that user logged in all the time without asking them to login again each time they visit the website or send a request that require authentication?
- What is base64 encoding?
- What are salt rounds? how does it work?
- What is Caesar Cipher? How only the communicating sides knows how to decrypt the message?
Melek Arslan, Adnan Khaldar, irem Kurt
What are the benefits of registration and signing in on GitHub?
What is the difference between authentication and authorization?
How can we prevent a request from being fulfilled? Like trying to access a private GitHub repo of someone else?
By assigning unique keys (tokens?) to each repo and only allowing clients with that unique code to access confidential information (e.g. repository).
After the user logs in using the backend end-point we create, how can we keep that user logged in all the time without asking them to login again each time they visit the website or send a request that require authentication?
The process works like this:
Request: The person asks for access to a server or protected resource. That could involve a login with a password, or it could involve some other process you specify.
Verification: The server determines that the person should have access. That could involve checking the password against the username, or it could involve another process you specify.
Tokens: The server communicates with the authentication device, like a ring, key, phone, or similar device. After verification, the server issues a token and passes it to the user.
Storage: The token sits within the user's browser while work continues.
What is base64 encoding?
Base64 is a group of similar binary-to-text encoding schemes that represent binary data in an ASCII string format by translating it into a radix-64 representation. The term Base64 originates from a specific MIME content transfer encoding.
What are salt rounds? how does it work?
“Salt round” mean the cost factor. The cost factor controls how much time is needed to calculate a single BCrypt hash. The higher the cost factor, the more hashing rounds are done. Increasing the cost factor by 1 doubles the necessary time. The more time is necessary, the more difficult is brute-forcing.
What is Caesar Cipher? How only the communicating sides knows how to decrypt the message?
Caesar cipher, also known as Caesar's cipher, the shift cipher, Caesar's code or Caesar shift, is one of the simplest and most widely known encryption techniques. It is a type of substitution cipher in which each letter in the plaintext is replaced by a letter some fixed number of positions down the alphabet. For example, with a left shift of 3, D would be replaced by A, E would become B, and so on. The method is named after Julius Caesar, who used it in his private correspondence.
The Caesar cipher is one of the earliest known and simplest ciphers. It is a type of substitution cipher in which each letter in the plaintext is 'shifted' a certain number of places down the alphabet. For example, with a shift of 1, A would be replaced by B, B would become C, and so on. The method is named after Julius Caesar, who apparently used it to communicate with his generals.
The Caesar Cipher involves replacing each letter of the alphabet with the letter – standing places down or up according to the key given.