From Shield documentation:

`Shield::Model` is a very basic protocol for doing authentication
against your model. It doesn't assume a lot, apart from the following:

1. You will implement `User.fetch` which receives the login string.
2. You have an attribute `crypted_password` which is able to store
   up to __192__ characters.

And that's it.