ChangeLog
0.11.0 (2023-12-18)
Added
reblocks-auth/core:render-login-page
generic-function was added allowing to make a custom. Widget classreblocks-auth/providers/email/processing:request-code-form
,reblocks-auth/providers/email/processing:render-submit-button
generic-function,reblocks-auth/providers/email/processing:render-email-input
generic-function,reblocks-auth/providers/email/processing:form-css-classes
generic-function andreblocks-auth/providers/email/processing:render-sent-message
generic-function were added to allow login page customizations.Added
reblocks-auth/core:*allow-new-accounts-creation*
variable to control if new accounts can be registered.Added
reblocks-auth/models:*user-class*
variable. This allows to make a custom user model with additional fields.
Changed
Now when user authenticates using email, we fill email column.
Function
reblocks-auth/providers/email/models:send-code
now acceptsSEND-CALLBACK
argument. This argument can be used when you need to send login code with a custom email markup. For example, this way a special welcome email can be sent when a new user was added by a site admin.Function
reblocks-auth/providers/email/resend:make-code-sender
now accepts additional argumentBASE-URI
.
0.10.0 (2023-10-22)
Experimental reCaptcha support was added into email provider.
Set reblocks-auth/providers/email/processing:*recaptcha-site-key*
and reblocks-auth/providers/email/processing:*recaptcha-secret-key*
variables to try it.
Note: this version requires a new Reblocks, where was added get-remote-ip function.
0.9.0 (2023-10-01)
Email authentication provider now is able to use Resend API
. Load reblocks-auth/providers/email/resend
ASDF
system to enable this feature.
0.8.0 (2023-08-04)
New authentication provider was added. It will send an authentication URL
to user's email.
To make it work, you'll need to add this table to the database:
CREATE TABLE registration_code (
id BIGSERIAL NOT NULL PRIMARY KEY,
email VARCHAR(255) NOT NULL,
code VARCHAR(255) NOT NULL,
valid_until TIMESTAMP NOT NULL,
created_at TIMESTAMPTZ,
updated_at TIMESTAMPTZ
);
After that, do this to enable the auth provider:
(pushnew :email reblocks-auth:*enabled-services*)
Also, you'll need to provide credentials for working with Mailgun service. At the moment sending email works only via this service, but other methods can be implemented.
If you decide to go with default sending method, define email template like this:
(define-code-sender send-code ("Ultralisp.org <noreply@ultralisp.org>" url)
(:p ("To log into [Ultralisp.org](~A), follow [this link](~A)."
url
url))
(:p "Hurry up! This link will expire in one hour."))
Here is how to provide credentials to make sending work:
(setf mailgun:*domain* "mg.ultralisp.org")
(setf mailgun:*api-key*
(secret-values:conceal-value
"********************************-*********-*********"))
To supply an alternative sending method, define a function of two arguments: email and url.
Set reblocks-auth/providers/email/models:*send-code-callback*
variable to the value
of this function.
0.7.0 (2022-06-07)
Added documentation and an example application.
0.6.0 (2021-01-24)
Added support for
secret-values
inreblocks-auth/github:*secret*
.
0.5.1 (2019-06-24)
Supported recent change of mito caused an error when searching a social user.
0.5.0 (2019-06-22)
Added a
reblocks-auth/models:change-email
function.
0.4.0 (2019-06-20)
Added a new variable
reblocks-auth/core:*login-hooks*
.A variable
reblocks-auth/core:*enabled-services*
was exported.A function
reblocks-auth/core:render-buttons
was exported.
0.3.0 (2019-04-18)
Now classes
reblocks-auth/models:user
andreblocks-auth/models:social-profile
are exported fromreblocks-auth/models
system.New function were added:
reblocks-auth/models:get-user-by-email
andreblocks-auth/models:get-user-by-nickname
.
0.2.0 (2019-04-17)
Now only
user:email
scope is required for authentication via github.And
reblocks-auth/github:render-button
,reblocks-auth/github:get-scopes
functions was added to request more scopes if required.
0.1.0 (2019-03-31)
First version with GitHub authentication.