auth-client


License

License

MIT
Categories

Categories

CLI User Interface
GroupId

GroupId

com.clovellytech
ArtifactId

ArtifactId

auth-client_sjs0.6_2.12
Last Version

Last Version

0.0.37
Release Date

Release Date

Type

Type

jar
Description

Description

auth-client
auth-client
Project URL

Project URL

https://github.com/clovellytech/http4s-modules
Project Organization

Project Organization

com.clovellytech
Source Code Management

Source Code Management

https://github.com/clovellytech/http4s-modules

Download auth-client_sjs0.6_2.12

How to add to project

<!-- https://jarcasting.com/artifacts/com.clovellytech/auth-client_sjs0.6_2.12/ -->
<dependency>
    <groupId>com.clovellytech</groupId>
    <artifactId>auth-client_sjs0.6_2.12</artifactId>
    <version>0.0.37</version>
</dependency>
// https://jarcasting.com/artifacts/com.clovellytech/auth-client_sjs0.6_2.12/
implementation 'com.clovellytech:auth-client_sjs0.6_2.12:0.0.37'
// https://jarcasting.com/artifacts/com.clovellytech/auth-client_sjs0.6_2.12/
implementation ("com.clovellytech:auth-client_sjs0.6_2.12:0.0.37")
'com.clovellytech:auth-client_sjs0.6_2.12:jar:0.0.37'
<dependency org="com.clovellytech" name="auth-client_sjs0.6_2.12" rev="0.0.37">
  <artifact name="auth-client_sjs0.6_2.12" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.clovellytech', module='auth-client_sjs0.6_2.12', version='0.0.37')
)
libraryDependencies += "com.clovellytech" % "auth-client_sjs0.6_2.12" % "0.0.37"
[com.clovellytech/auth-client_sjs0.6_2.12 "0.0.37"]

Dependencies

compile (11)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.12.9
com.clovellytech : h4sm-common_sjs0.6_2.12 jar 0.0.37
com.clovellytech » h4sm-shared_sjs0.6_2.12 jar 0.0.37
com.clovellytech : h4sm-testutil-common_sjs0.6_2.12 jar 0.0.37
org.scala-js : scalajs-library_2.12 jar 0.6.29
org.scala-js : scalajs-dom_sjs0.6_2.12 jar 0.9.7
org.typelevel : simulacrum_sjs0.6_2.12 jar 1.0.0
io.circe : circe-core_sjs0.6_2.12 jar 0.12.3
io.circe : circe-generic_sjs0.6_2.12 jar 0.12.3
io.circe : circe-parser_sjs0.6_2.12 jar 0.12.3
io.circe : not-java-time_sjs0.6_2.12 jar 0.2.0

test (7)

Group / Artifact Type Version
org.scala-js : scalajs-test-bridge_2.12 jar 0.6.29
org.scalatest : scalatest_sjs0.6_2.12 jar 3.2.0-M1
org.scalatestplus : scalatestplus-scalacheck_sjs0.6_2.12 jar 3.1.0.0-RC2
org.scalatest : scalatest_2.12 jar 3.2.0-M1
org.scalatestplus : scalatestplus-scalacheck_2.12 jar 3.1.0.0-RC2
org.tpolecat : doobie-scalatest_2.12 jar 0.8.4
org.scalacheck : scalacheck_2.12 jar 1.15.0-51107b8-SNAPSHOT

Project Modules

There are no modules declared in this project.

h4sm - Scala Http4s Modules Join the chat Build Status Sonatype Release

Create composable server modules with ease using Http4s, cats, Flyway, and PostgreSQL. Built for scala 2.12 and 2.13 and scalajs 1.0.

Basic Idea

To provide a library of production ready modules, complete with database schema, that can be composed and mounted as HttpServices. Modules included so far:

  • auth - A complete user authentication implementation using tsec. Bearer and stateless cookie authentication schemes are available.
  • features - An example library that allows users to submit feature requests and vote on features.
  • files - A complete file upload and retrieval module. Only local file storage is implemented so far. AWS or other backends can be added by providing a typeclass instance.
  • invitations - Add the ability for users to invite new users.
  • messages - Allow authenticated users to pass messages to each other if they know the other's user id.
  • permissions - Built on top of tsec-http4s, an easy way to create routes that are guarded by a user having certain permissions.
  • petstore - As a learning example, the scala-pet-store implemented with h4sm modules (not released)
  • store - A store with items and orders.
  • more to come! Something you would like to see here? Submit an issue!

See documentation here

Creating a module: See a start to finish implementation example

Contributors and Recognition

PRs and issues are so welcome on this project. Generally contributors don't have to be people that commit code or even write issues. Thanks especially to:

Try it out

An example project exists in /example-server, which aggregates all the modules into a single server. To run, execute exampleServerJVM/reStart in sbt.

Get Started

Add any of the following dependencies to your build.sbt. There are interdependencies too, so you may consult build.sbt to see which modules depend on which, and thus may not need to be declared in your build.sbt.

libraryDependencies ++= Seq(
	"h4sm-auth",
	"h4sm-features",
	"h4sm-files",
	"h4sm-invitations",
	"h4sm-store",
	"h4sm-messages",
	"h4sm-permissions"
).map("com.clovellytech" %% _ % h4smVersion)

Scalajs Clients

Clients are prebuilt for several modules. You can include them in your scalajs projects as:

libraryDependencies ++= Seq(
    "h4sm-auth-client",
    "h4sm-features-client",
).map("com.clovellytech" %%% _ % h4smVersion)
com.clovellytech

clovelly

Versions

Version
0.0.37
0.0.36