@conjoon/extjs-app-imapuser

Sencha ExtJS NPM package for authentication against IMAP servers.

Usage no npm install needed!

<script type="module">
  import conjoonExtjsAppImapuser from 'https://cdn.skypack.dev/@conjoon/extjs-app-imapuser';
</script>

README

@conjoon/extjs-app-imapuser

conjoon application module for providing user authentication against an imap server.

Installation

npm install --save-dev @conjoon/extjs-app-imapuser

If you want to develop with this package, run the build:dev-script afterwards:

npm run build:dev

Testing environment will then be available via

npm test

Usage

When using this package without a backend implementation, make sure your app uses the extjs-app-imapusersim package of the conjoon project.

Available API Implementations

A simplistic RESTful PHP backend that can be used with single sign-ons to existing IMAP Servers can be found at php-cn_imapuser.

Required API

Any developer striving for an own backend implementation should make sure to provide the following services:

  • cn_imapuser/auth | POST
    • Parameters:
      • {username} (required): The username of the IMAP Account for which the user should be authenticated;
      • {password} (required): The password of this user;
    • Authenticates a user with the specified username and password. If successful, extjs-app-imapuser will make sure that the current user is a valid user for the lifetime of the application.
    • Success Status / Response: Status 200 {success : true, data : {...}] The response should return the user's data
    • Failure Status / Response: Status 401 {success : false}

Dev

Naming

The following naming conventions apply:

Namespace

conjoon.cn_imapuser.*

Package name

extjs-app-imapuser

Shorthand to be used with providing aliases

cn_imapuser

Example: Class conjoon.cn_imapuser.view.authentication.AuthWindow has the alias widget.cn_imapuser-authwindow