Authorizing a user
In this section, we will discuss how to make a simple sign in and sign out system that is an essential part of this forum and a subset of functionality that is frequently needed for other types of websites as well.
Signing in and signing out
For simplicity, we do not provide a sign up process for the application. Users who input a non-blank username and password can log in to the system. Model.auth
returns {none}
if authorization fails, otherwise it returns {user}
, where user is a value of type User.t
containing information about the current user. Only signed in users will be able to create topics and post messages. This section will show you what you should do when users sign in. The following code fragment demonstrates the sign in, the code can be found in the login.opa
file:
type Login.user = {unlogged} or {User.t user} state = UserContext.make(Login.user {unlogged}) function login(_) { username = Dom.get_value(#username) password = Dom.get_value(#password) match(Model...