Skip to content
Snippets Groups Projects
Commit 8efecf39 authored by Gregor Longariva's avatar Gregor Longariva :speech_balloon:
Browse files

Update README.md

parent d19a2a9a
No related branches found
No related tags found
No related merge requests found
# FAUmac doge AD Authentication Framework package
---
redirect_to: 'https://faumac.pages.rrze.fau.de/dogeadauth/documentation/dogeadauth/'
remove_date: '2024-12-20'
---
This framework is a fork and further development of Joel Rennich's [NoMAD-ADAuth](https://github.com/jamf/NoMAD-ADAuth) Framework. It represents his experience and the extensive development hours dedicated to NoMAD's Active Directory authentication.
Many thanks to Joel for his work on NoMAD and NoMAD-ADAuth! Without his ideas and goot work on [NoMAD](https://github.com/jamf/NoMAD) and [NoMAD 2](https://github.com/jamf/NoMAD-2) this Framework and our depending apps could never happen!
<!-- markdownlint-disable -->
This framework allows to easily add a robust AD integration to any macOS application.
This document was moved to [another location](https://faumac.pages.rrze.fau.de/dogeadauth/documentation/dogeadauth/).
## Overview
<!-- This redirect file can be deleted after <2044-12-20>. -->
<!-- Redirects that point to other docs in the same project expire in three months. -->
<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
The [doge AD authentication framework](https://faumac.pages.rrze.fau.de/dogeadauth/documentation/dogeadauth/) allows you to present a username and password to the Framework and have it get tickets for the user and then lookup the user's information in AD. In addition the framework is:
- site aware
- able to change passwords
- able to use SSL for AD lookups
- can have the site forced or ignored
- is aware of network changes, and will mark sites to be re-discovered on changes
- perform recursive group lookups
## Adding dogeADAuth to your project
dogeADAuth is a [Swift Package Manager](https://www.swift.org/package-manager/)(SPM) Package and can imported as usual through *Xcode File* > *Add Package Dependencies...* using the [project URL](https://gitlab.rrze.fau.de/faumac/dogeadauth)
## Basic Usage of the Framework via Delegate
- Drag the framework into your project in the Embedded Binaries section of the target
- Import dogeADAuth into your class
- Adopt dogeADUserSessionDelegate, and then add the stubs suggested to conform to the protocol
- create a dogeADSession object `let session = dogeADSession.init(domain: "doge.test", user: "ftest@DOGE.TEST", type: .AD)`
- set a password on the session object `session.userPass = "FAUmacDogeADRocks1!"`
- set the session delegate to your class `session.delegate = self`
- try to authenticate `session.authenticate()`
- the delegate callbacks will then let you know if the auth succeeded or not
## Basic Usage of the Framework via Closure
- Drag the framework into your project in the Embedded Binaries section of the target
- Import `dogeADAuth`
- Make a `dogeADSession` object via `init(domain: String, user: String, type: LDAPType = .AD)`
- Set the session's `userPass` variable
- Call the session's `getKerberosTicket(principal: String? = nil, completion: @escaping (KerberosTicketResult) -> Void)` function
- If the optional `principal` parameter is supplied, this function tries to fetch an existing ticket for this principal,
- and then if unsuccessful, continues by trying to get a new ticket
- This function shares its result by running the supplied closure upon completion
- with `KerberosTicketResult` containing either an `ADUserRecord` on success or a `dogeADSessionError` on failure
## Full documentation of dogeADAuth
[Documentation of dogeADAuth](https://faumac.pages.rrze.fau.de/dogeadauth/documentation/dogeadauth/)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment