class PlaceOS::Model::LdapAuthentication

Overview

see: https://github.com/omniauth/omniauth-ldap

Included Modules

Defined in:

placeos-models/ldap_authentication.cr

Constant Summary

CALLBACKS = {before_save: [] of Nil, after_save: [] of Nil, before_create: [do self.created_at = self.updated_at = Time.utc end] of Nil, after_create: [] of Nil, before_update: [do self.updated_at = Time.utc end] of Nil, after_update: [] of Nil, before_destroy: [] of Nil, after_destroy: [] of Nil}

see: https://github.com/omniauth/omniauth-ldap

Log = ::Log.for(self)

see: https://github.com/omniauth/omniauth-ldap

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from class PlaceOS::Model::ModelBase

after_create after_create, after_destroy after_destroy, after_save after_save, after_update after_update, apply_defaults apply_defaults, assign_attributes(params : HTTP::Params | Hash(String, String) | Tuple(String, String))
assign_attributes(model : PlaceOS::Model::ModelBase)
assign_attributes
assign_attributes
, attributes attributes, attributes_tuple attributes_tuple, before_create before_create, before_destroy before_destroy, before_save before_save, before_update before_update, invoke_props invoke_props, persistent_attributes persistent_attributes, run_create_callbacks(&) run_create_callbacks, run_destroy_callbacks(&) run_destroy_callbacks, run_save_callbacks(&) run_save_callbacks, run_update_callbacks(&) run_update_callbacks

Constructor methods inherited from class PlaceOS::Model::ModelBase

new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)
new(pull : JSON::PullParser)
new(rs : DB::ResultSet)
new

Class methods inherited from class PlaceOS::Model::ModelBase

attributes : Array(Symbol) attributes, auto_generate_id : Bool auto_generate_id, from_rs(rs : DB::ResultSet) from_rs, primary_key : Symbol primary_key

Instance methods inherited from module PlaceOS::Model::Associations

format_list_for_postgres(list : Enumerable(String)) : String format_list_for_postgres, reset_associations reset_associations

Class methods inherited from module PlaceOS::Model::Associations

format_list_for_postgres(list : Enumerable(String)) : String format_list_for_postgres

Macros inherited from module PlaceOS::Model::Associations

belongs_to(parent_class, dependent = :none, association_name = nil, foreign_key = nil, presence = false, pk_type = nil, serialize = true) belongs_to, has_many(child_class, collection_name = nil, dependent = :none, foreign_key = nil, serialize = false) has_many, has_one(child_class, dependent = :none, association_name = nil, presence = false) has_one

Constructor Detail

def self.from_json(string_or_io : String | IO, trusted : Bool = false) : self #

see: https://github.com/omniauth/omniauth-ldap


def self.from_json(string_or_io : String | IO, root : String, trusted : Bool = false) : self #

Deserializes the given JSON in string_or_io into an instance of self, assuming the JSON consists of an JSON object with key root, and whose value is the value to deserialize. Will not deserialise from fields with mass_assign: false

class User < ActiveModel::Model
  attribute name : String
  attribute google_id : UUID, mass_assign: false
end

User.from_json(%({"main": {"name": "Jason", "google_id": "f6f70bfb-c882-446d-8758-7ce47db39620"}}), root: "main") # => #<User:0x103131b20 @name="Jason">

def self.from_trusted_json(string_or_io : String | IO, root : String) : self #

see: https://github.com/omniauth/omniauth-ldap


def self.from_trusted_json(string_or_io : String | IO) : self #

Serialize from a trusted JSON source


def self.from_trusted_yaml(string_or_io : String | IO) : self #

Serialize from a trusted YAML source


def self.from_yaml(string_or_io : String | IO, trusted : Bool = false) : self #

see: https://github.com/omniauth/omniauth-ldap


def self.new(ctx : YAML::ParseContext, node : YAML::Nodes::Node) #

see: https://github.com/omniauth/omniauth-ldap


def self.new(pull : JSON::PullParser) #

see: https://github.com/omniauth/omniauth-ldap


def self.new(rs : DB::ResultSet) #

see: https://github.com/omniauth/omniauth-ldap


def self.new(created_at : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new, updated_at : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new, name : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, port : Int32 | ActiveModel::Model::None = ::ActiveModel::Model::None.new, auth_method : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, uid : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, host : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, base : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, bind_dn : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, password : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, filter : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, authority_id : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, id : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new) #

see: https://github.com/omniauth/omniauth-ldap


def self.new(params : HTTP::Params | Hash(String, String) | Tuple(String, String)) #

Initialize PlaceOS::Model::LdapAuthentication from HTTP::Params.


Class Method Detail

def self.attributes : Array(Symbol) #

Returns all attribute keys.


def self.auto_generate_id : Bool #

see: https://github.com/omniauth/omniauth-ldap


def self.by_authority_id(id) #

Look up instances of this model dependent on the foreign key


def self.changes(id : PrimaryKeyType = nil) : ChangeFeed #

Changefeed at row (if #id passed) or whole table level. Returns a ChangeFeed instance which can be used to invoke async callbacks via on or use blocking Iterator via each method.


def self.elastic #

see: https://github.com/omniauth/omniauth-ldap


def self.from_rs(__temp_604 : DB::ResultSet) #

see: https://github.com/omniauth/omniauth-ldap


def self.on_error(err : Exception | IO::Error) #

see: https://github.com/omniauth/omniauth-ldap


def self.primary_key : Symbol #

see: https://github.com/omniauth/omniauth-ldap


def self.table_name #

see: https://github.com/omniauth/omniauth-ldap


Instance Method Detail

def __authority : Authority | Nil #

def __authority=(__authority : Authority | Nil) #

def after_create #

see: https://github.com/omniauth/omniauth-ldap


def after_destroy #

see: https://github.com/omniauth/omniauth-ldap


def after_initialize(trusted : Bool) #

see: https://github.com/omniauth/omniauth-ldap


def after_save #

see: https://github.com/omniauth/omniauth-ldap


def after_update #

see: https://github.com/omniauth/omniauth-ldap


def apply_defaults #

Generate code to apply default values


def assign_attributes(created_at : Time | Missing = Missing, updated_at : Time | Missing = Missing, name : String | Missing = Missing, port : Int32 | Missing = Missing, auth_method : String | Missing = Missing, uid : String | Missing = Missing, host : String | Missing = Missing, base : String | Missing = Missing, bind_dn : String | Nil | Missing = Missing, password : String | Nil | Missing = Missing, filter : String | Nil | Missing = Missing, authority_id : String | Nil | Missing = Missing, id : String | Nil | Missing = Missing) #

Assign to multiple attributes.


def assign_attributes(params : HTTP::Params | Hash(String, String) | Tuple(String, String)) #

Assign to mulitple attributes via HTTP::Params.


def assign_attributes(model : PlaceOS::Model::LdapAuthentication) #

Assign to multiple attributes from a model object


def assign_attributes_from_json(json, root : String) #

see: https://github.com/omniauth/omniauth-ldap


def assign_attributes_from_json(json) #

see: https://github.com/omniauth/omniauth-ldap


def assign_attributes_from_trusted_json(json, root : String) #

see: https://github.com/omniauth/omniauth-ldap


def assign_attributes_from_trusted_json(json) #

Assign each field from JSON if field exists in JSON and has changed in model


def assign_attributes_from_trusted_yaml(yaml) #

see: https://github.com/omniauth/omniauth-ldap


def assign_attributes_from_yaml(yaml) #

Uses the YAML parser as JSON is valid YAML


def attributes #

Returns a Hash of all attribute values


def attributes_tuple #

Returns a NamedTuple of all attribute values.


def auth_method : String #

#auth_method getter


def auth_method=(value : String) #

#auth_method setter


def auth_method? : String | Nil #

One of "plain", "ssl", "tls"


def auth_method_assigned? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def auth_method_change : Tuple(String | Nil, String | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def auth_method_changed? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def auth_method_default : String #

#auth_method's default value


def auth_method_present? : Bool #

One of "plain", "ssl", "tls"


def auth_method_was : String | Nil #

see: https://github.com/omniauth/omniauth-ldap


def auth_method_will_change! : Nil #

Include #auth_method in the set of changed attributes, whether it has changed or not.


def authority : Authority | Nil #

Retrieves the parent relationship


def authority! : Authority #

def authority=(parent : Authority) #

Sets the parent relationship


def authority_id : String | Nil #

#authority_id getter


def authority_id=(value : String | Nil) #

#authority_id setter


def authority_id_assigned? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def authority_id_change : Tuple(String | Nil | Nil, String | Nil | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def authority_id_changed? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def authority_id_default : String | Nil #

#authority_id's default value


def authority_id_present? : Bool #

def authority_id_was : String | Nil | Nil #

see: https://github.com/omniauth/omniauth-ldap


def authority_id_will_change! : Nil #

Include #authority_id in the set of changed attributes, whether it has changed or not.


def base : String #

#base getter


def base=(value : String) #

#base setter


def base? : String | Nil #

BaseDN such as dc=intridea, dc=com


def base_assigned? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def base_change : Tuple(String | Nil, String | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def base_changed? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def base_default : String #

#base's default value


def base_present? : Bool #

BaseDN such as dc=intridea, dc=com


def base_was : String | Nil #

see: https://github.com/omniauth/omniauth-ldap


def base_will_change! : Nil #

Include #base in the set of changed attributes, whether it has changed or not.


def before_create #

see: https://github.com/omniauth/omniauth-ldap


def before_destroy #

see: https://github.com/omniauth/omniauth-ldap


def before_save #

see: https://github.com/omniauth/omniauth-ldap


def before_update #

see: https://github.com/omniauth/omniauth-ldap


def bind_dn : String | Nil #

#bind_dn getter


def bind_dn=(value : String | Nil) #

#bind_dn setter


def bind_dn_assigned? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def bind_dn_change : Tuple(String | Nil | Nil, String | Nil | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def bind_dn_changed? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def bind_dn_default : String | Nil #

#bind_dn's default value


def bind_dn_present? : Bool #

#bind_dn and #password are the default credentials to perform user lookups


def bind_dn_was : String | Nil | Nil #

see: https://github.com/omniauth/omniauth-ldap


def bind_dn_will_change! : Nil #

Include #bind_dn in the set of changed attributes, whether it has changed or not.


def changed? #

Check if any attributes have changed.


def changed_attributes #

Returns a Hash with all changed attributes.


def changed_json(io : IO) : Nil #

Serialize the set of changed attributes to JSON.


def changed_json : String #

Serialize the set of changed attributes to JSON.


def changed_persist_attributes #

see: https://github.com/omniauth/omniauth-ldap


def changed_yaml(io : IO) : Nil #

Serialize the set of changed attributes to YAML.


def changed_yaml : String #

Serialize the set of changed attributes to YAML.


def clear_changes_information #

Reset changes for all attributes.


def created_at : Time #

#created_at getter


def created_at=(value : Time) #

Setters #created_at setter


def created_at? : Time | Nil #

def created_at_assigned? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def created_at_change : Tuple(Time | Nil, Time | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def created_at_changed? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def created_at_default : Time #

#created_at's default value


def created_at_present? : Bool #

def created_at_was : Time | Nil #

see: https://github.com/omniauth/omniauth-ldap


def created_at_will_change! : Nil #

Include #created_at in the set of changed attributes, whether it has changed or not.


def filter : String | Nil #

#filter getter


def filter=(value : String | Nil) #

#filter setter


def filter_assigned? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def filter_change : Tuple(String | Nil | Nil, String | Nil | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def filter_changed? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def filter_default : String | Nil #

#filter's default value


def filter_present? : Bool #

LDAP filter like: (&(uid=%{username})(memberOf=cn=myapp-users,ou=groups,dc=example,dc=com)) Can be used instead of #uid


def filter_was : String | Nil | Nil #

see: https://github.com/omniauth/omniauth-ldap


def filter_will_change! : Nil #

Include #filter in the set of changed attributes, whether it has changed or not.


def host : String #

#host getter


def host=(value : String) #

#host setter


def host? : String | Nil #

def host_assigned? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def host_change : Tuple(String | Nil, String | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def host_changed? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def host_default : String #

#host's default value


def host_present? : Bool #

def host_was : String | Nil #

see: https://github.com/omniauth/omniauth-ldap


def host_will_change! : Nil #

Include #host in the set of changed attributes, whether it has changed or not.


def id : String | Nil #

#id getter


def id=(value : String | Nil) #

#id setter


def id? : String | Nil | Nil #

see: https://github.com/omniauth/omniauth-ldap


def id_assigned? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def id_change : Tuple(String | Nil | Nil, String | Nil | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def id_changed? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def id_default : String | Nil #

#id's default value


def id_present? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def id_was : String | Nil | Nil #

see: https://github.com/omniauth/omniauth-ldap


def id_will_change! : Nil #

Include #id in the set of changed attributes, whether it has changed or not.


def invoke_props #

see: https://github.com/omniauth/omniauth-ldap


def name : String #

#name getter


def name=(value : String) #

#name setter


def name? : String | Nil #

def name_assigned? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def name_change : Tuple(String | Nil, String | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def name_changed? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def name_default : String #

#name's default value


def name_present? : Bool #

def name_was : String | Nil #

see: https://github.com/omniauth/omniauth-ldap


def name_will_change! : Nil #

Include #name in the set of changed attributes, whether it has changed or not.


def password : String | Nil #

#password getter


def password=(value : String | Nil) #

#password setter


def password_assigned? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def password_change : Tuple(String | Nil | Nil, String | Nil | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def password_changed? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def password_default : String | Nil #

#password's default value


def password_present? : Bool #

#bind_dn's default value


def password_was : String | Nil | Nil #

see: https://github.com/omniauth/omniauth-ldap


def password_will_change! : Nil #

Include #password in the set of changed attributes, whether it has changed or not.


def persistent_attributes #

see: https://github.com/omniauth/omniauth-ldap


def port : Int32 #

#port getter


def port=(value : Int32) #

#port setter


def port? : Int32 | Nil #

def port_assigned? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def port_change : Tuple(Int32 | Nil, Int32 | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def port_changed? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def port_default : Int32 #

#port's default value


def port_present? : Bool #

def port_was : Int32 | Nil #

see: https://github.com/omniauth/omniauth-ldap


def port_will_change! : Nil #

Include #port in the set of changed attributes, whether it has changed or not.


def reset_associations #

def restore_attributes #

Reset each attribute to their previous values and clears all changes.


def run_create_callbacks(&) #

Wrap a block with callbacks for the appropriate crud operation


def run_destroy_callbacks(&) #

see: https://github.com/omniauth/omniauth-ldap


def run_save_callbacks(&) #

see: https://github.com/omniauth/omniauth-ldap


def run_update_callbacks(&) #

see: https://github.com/omniauth/omniauth-ldap


def table_name #

see: https://github.com/omniauth/omniauth-ldap


def uid : String #

#uid getter


def uid=(value : String) #

#uid setter


def uid? : String | Nil #

def uid_assigned? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def uid_change : Tuple(String | Nil, String | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def uid_changed? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def uid_default : String #

#uid's default value


def uid_present? : Bool #

def uid_was : String | Nil #

see: https://github.com/omniauth/omniauth-ldap


def uid_will_change! : Nil #

Include #uid in the set of changed attributes, whether it has changed or not.


def updated_at : Time #

#updated_at getter


def updated_at=(value : Time) #

#updated_at setter


def updated_at? : Time | Nil #

def updated_at_assigned? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def updated_at_change : Tuple(Time | Nil, Time | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def updated_at_changed? : Bool #

see: https://github.com/omniauth/omniauth-ldap


def updated_at_default : Time #

#updated_at's default value


def updated_at_present? : Bool #

def updated_at_was : Time | Nil #

see: https://github.com/omniauth/omniauth-ldap


def updated_at_will_change! : Nil #

Include #updated_at in the set of changed attributes, whether it has changed or not.


def validate_nilability #

Validate that all non-nillable fields have values.