Giter VIP home page Giter VIP logo

csauthsample's Introduction

CSAuthSample

This is a set of libraries that will assist in writing privileged helper tools for macOS applications. It is intended to be a little more up to date and easier to use than Apple's aging EvenBetterAuthorizationSample. Pacifist has been using it for some time.

CSAuthSample began as a port of Nathan de Vries’ SMJobBlessXPC, although it has been rewritten so many times that I doubt any of the original code remains. At some point it was rewritten around Apple’s BetterAuthorizationSample. More recently it has been rewritten around Apple's EvenBetterAuthorizationSample. This latest rewrite uses NSXPCConnection, and thus requires the helper to be written in either Objective-C or Swift. For users that require the helper to be in straight C, the older code using libxpc is available in the 'c-helper' branch.

The current code assumes the front-end application will be written in Swift. Either Objective-C or Swift can be used to write the helper tool. If you wish to use Swift for the full stack, a Swift package is available. For your convenience, there is an example app project included that will show you how to write a Swift-based helper app and corresponding client app.

For those who like to be on the cutting edge, a Swift-only rewrite which uses Swift Concurrency is available under the swift-concurrency branch.

CSAuthSample is free to use under the terms of the MIT license.

Enjoy!

csauthsample's People

Contributors

atnan avatar charlesjs avatar mdales avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.