c

authorization

AuthAPIServiceV2

class AuthAPIServiceV2 extends AuthApi with AuthApiJsonSupport

Version 2 of AuthAPI service. It provides functionality of the internal AuthAPI interface to external authorization services. This V2 has different interface to allow easier partial authorization by having "deny" rules in addition to "allow" rules.

Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AuthAPIServiceV2
  2. AuthApiJsonSupport
  3. AuthApi
  4. AnyRef
  5. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new AuthAPIServiceV2(hierarchyStore: ActorRef, settings: OmiConfigExtension, system: ActorSystem, materializer: ActorMaterializer)

Type Members

  1. type VariableMap = Map[String, String]

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from AuthAPIServiceV2 to any2stringadd[AuthAPIServiceV2] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (AuthAPIServiceV2, B)
    Implicit
    This member is added by an implicit conversion from AuthAPIServiceV2 to ArrowAssoc[AuthAPIServiceV2] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def bodyString(http: HttpMessage)(implicit t: Timeout): String
    Attributes
    protected
    Definition Classes
    AuthApiJsonSupport
  8. def bodyStringF(http: HttpMessage): Future[String]
    Attributes
    protected
    Definition Classes
    AuthApiJsonSupport
  9. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  10. def createRequest(base: akka.http.scaladsl.client.RequestBuilding.RequestBuilder, baseUri: Uri, confObject: ParameterExtraction, variables: VariableMap): HttpRequest
    Attributes
    protected
  11. def ensuring(cond: (AuthAPIServiceV2) ⇒ Boolean, msg: ⇒ Any): AuthAPIServiceV2
    Implicit
    This member is added by an implicit conversion from AuthAPIServiceV2 to Ensuring[AuthAPIServiceV2] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. def ensuring(cond: (AuthAPIServiceV2) ⇒ Boolean): AuthAPIServiceV2
    Implicit
    This member is added by an implicit conversion from AuthAPIServiceV2 to Ensuring[AuthAPIServiceV2] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  13. def ensuring(cond: Boolean, msg: ⇒ Any): AuthAPIServiceV2
    Implicit
    This member is added by an implicit conversion from AuthAPIServiceV2 to Ensuring[AuthAPIServiceV2] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  14. def ensuring(cond: Boolean): AuthAPIServiceV2
    Implicit
    This member is added by an implicit conversion from AuthAPIServiceV2 to Ensuring[AuthAPIServiceV2] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  17. def extractParameter(httpMessage: HttpMessage, rawOmi: Option[RawRequestWrapper], fromContext: String, from: String)(implicit t: Timeout): Option[String]
    Attributes
    protected
  18. def extractToMap(httpRequest: HttpMessage, rawOmi: Option[RawRequestWrapper], confObject: ParameterExtraction)(implicit t: Timeout): VariableMap
    Attributes
    protected
  19. def filterODF(originalRequest: OdfRequest, aFilters: AuthorizationResponse): Future[Option[OdfRequest]]

    Filter ODF in the OdfRequest with given allow and deny filters in AuthorizationResponse.

    Filter ODF in the OdfRequest with given allow and deny filters in AuthorizationResponse.

    The process is different for ReadRequest and other OdfRequest. Currently others just fail if even a single leaf path is not allowed by filters, but ReadRequest will use database.SingleStores.hierarchyStore to expand any siblings of unauthorized Object or InfoItem if they belong to the original request, thus it will usually result in Some unless all of the requested paths and their children nodes were denied.

    Read request:

    1. get leafs 2. filter to allowed sub trees only 3. find affecting deny paths and categorize into those which generate siblings and direct deny paths 4. generate siblings recursively 5. modify original request; add new paths and remove denied
    originalRequest

    Original request to modify

    aFilters

    Contains the allow and deny filters to use

    returns

    Some, containing the filtered request; None, if the whole request is unauthorized

  20. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  21. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from AuthAPIServiceV2 to StringFormat[AuthAPIServiceV2] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  22. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  23. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  24. val hierarchyStore: ActorRef
  25. val httpExtension: HttpExt
    Attributes
    protected
    Definition Classes
    AuthAPIServiceV2AuthApiJsonSupport
  26. def isAuthorizedForOdfRequest(httpRequest: HttpRequest, rawOmiRequest: RawRequestWrapper): AuthorizationResult
  27. def isAuthorizedForRawRequest(httpRequest: HttpRequest, rawRequest: String): AuthorizationResult

    This is used if the parser is wanted to be skipped, e.g.

    This is used if the parser is wanted to be skipped, e.g. for forwarding to the original request to some authentication/authorization service.

    httpRequest

    http headers and other data as they were received to O-MI Node.

    Definition Classes
    AuthAPIServiceV2AuthApi
  28. def isAuthorizedForRequest(httpRequest: HttpRequest, omiRequest: OmiRequest): AuthorizationResult

    This can be overridden or isAuthorizedForType can be overridden instead.

    This can be overridden or isAuthorizedForType can be overridden instead. Has scala default implementation for calling isAuthorizedForType function correctly.

    httpRequest

    http headers and other data as they were received to O-MI Node.

    Definition Classes
    AuthApi
  29. def isAuthorizedForType(httpRequest: HttpRequest, isWrite: Boolean, paths: Iterable[Path]): AuthorizationResult

    This can be overridden or isAuthorizedForType can be overridden instead.

    This can be overridden or isAuthorizedForType can be overridden instead.

    httpRequest

    http headers and other data as they were received to O-MI Node.

    isWrite

    True if the request requires write permissions, false if it's read only.

    paths

    O-DF paths to all of the requested or to be written InfoItems.

    Definition Classes
    AuthApi
  30. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  31. val log: Logger
    Attributes
    protected
  32. implicit val materializer: ActorMaterializer
    Attributes
    protected
    Definition Classes
    AuthAPIServiceV2AuthApiJsonSupport
  33. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  34. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  35. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  36. def optionToAuthResult: (Option[RequestWrapper]) ⇒ (UserInfo) ⇒ AuthorizationResult
  37. def sendAndReceiveAsAuthorizationResponse(httpRequest: HttpRequest): Future[AuthorizationResponse]
    Attributes
    protected
    Definition Classes
    AuthApiJsonSupport
  38. val settings: OmiConfigExtension
  39. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  40. implicit val system: ActorSystem
    Attributes
    protected
    Definition Classes
    AuthAPIServiceV2AuthApiJsonSupport
  41. def toString(): String
    Definition Classes
    AnyRef → Any
  42. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  43. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  45. def [B](y: B): (AuthAPIServiceV2, B)
    Implicit
    This member is added by an implicit conversion from AuthAPIServiceV2 to ArrowAssoc[AuthAPIServiceV2] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from AuthApiJsonSupport

Inherited from AuthApi

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from AuthAPIServiceV2 to any2stringadd[AuthAPIServiceV2]

Inherited by implicit conversion StringFormat from AuthAPIServiceV2 to StringFormat[AuthAPIServiceV2]

Inherited by implicit conversion Ensuring from AuthAPIServiceV2 to Ensuring[AuthAPIServiceV2]

Inherited by implicit conversion ArrowAssoc from AuthAPIServiceV2 to ArrowAssoc[AuthAPIServiceV2]

Ungrouped