SFAuthenticationSession-example - Example using iOS 11's SFAuthenticationSession to get cookies from Safari

  •        199

Example using iOS 11's SFAuthenticationSession to get cookies from Safari. Contains a simple python Flask web service to create and return cookies and an iOS app that uses SFAuthenticationSession API to fetch cookies from the Flask app. Assumes you have some level of familiarity with Xcode and the command line, but does not require experience with python / Flask. Note: There appears to be a bug with SFAuthenticationSession that prevents this from working for cookies that are set with no expiry / with the lifetime of a session cookie, even if those sessions are still alive.

https://github.com/dvdhpkns/SFAuthenticationSession-example

Tags
Implementation
License
Platform

   




Related Projects

AppAuth-iOS - iOS and macOS SDK for communicating with OAuth 2.0 and OpenID Connect providers.

  •    Objective-C

AppAuth for iOS and macOS is a client SDK for communicating with OAuth 2.0 and OpenID Connect providers. It strives to directly map the requests and responses of those specifications, while following the idiomatic style of the implementation language. In addition to mapping the raw protocol flows, convenience methods are available to assist with common tasks like performing an action with fresh tokens. It follows the best practices set out in RFC 8252 - OAuth 2.0 for Native Apps including using SFAuthenticationSession and SFSafariViewController on iOS for the auth request. UIWebView and WKWebView are explicitly not supported due to the security and usability reasons explained in Section 8.12 of RFC 8252.

remotedebug-ios-webkit-adapter - Debug Safari and WebViews on iOS from tools like VS Code, Chrome DevTools, Mozilla Debugger

  •    TypeScript

RemoteDebug iOS WebKit Adapter is an protocol adapter that Safari and WebViews on iOS to be debugged from tools like VS Code, Chrome DevTools, Mozilla Debugger.html and other tools compatible with the Chrome Debugging Protocol. Before you use this adapter you need to make sure you have the latest version of iTunes installed, as we need a few libraries provided by iTunes to talk to the iOS devices.

browser - The browser extension vault (Chrome, Firefox, Opera, Edge, Safari, & more).

  •    Javascript

The Bitwarden browser extension is written using the Chrome Web Extension API and AngularJS. By default the extension is targeting the production API. If you are running the Core API locally, you'll need to switch the extension to target your local instance. Open src/services/api.service.ts and set this.baseUrl and this.identityBaseUrl to your local API instance (ex. http://localhost:5000).

iOS11-NFC-Example - 📱 Example showing how to use the Core NFC API in iOS 11 and later.

  •    Swift

A quick example showing how to use the Core NFC API in iOS 11 and Swift 4. In order to work with NFC-tags, it is fundamental to understand the NDEF (NFC Data Exchange Format) specification. Whenever CoreNFC discovers a new tag, the didDetectNDEFs delegate method will provide an array of NDEF messages ([NFCNDEFMessage]). Usually, there is only one NDEF message included, but the specification keeps it flexible to provide multiple messages at the same time.

TiltedTabView - iOS control to replicate the tab switcher in Safari for iOS.

  •    Swift

This library aims to replicate the tab switcher in Safari on iOS. It handles both compact width (tilted) and regular width (grid) layouts. The main class in this library is the TiltedTabViewController. It is a subclass of UICollectionViewController, that contains a custom collection view and layout.


react-native-safari-view - A React Native wrapper for Safari View Controller.

  •    Objective-C

React Native Safari View is a Safari View Controller wrapper for React Native. In order to use Safari View, you must first link the library your project. There's excellent documentation on how to do this in the React Native Docs.

push - Push notifications for cordova (ios, android) browser (Chrome, Safari, Firefox)

  •    Javascript

Push notifications for cordova (ios, android) browser (Chrome, Safari, Firefox) - One unified api on client and server. We are using semantic-release following the AngularJS Commit Message Conventions - Following this pattern will result in better versioning, better changelog and shorter release cycle.

HGPageScrollView - UIScrollView for iPhone with horizontal paging like mobile Safari tabs

  •    Objective-C

An extension of iOS UIScrollView that allows scrolling of multiple pages, like mobile Safari tab viewer. HGPageScrollView uses a similar methodology to UITableView. It defines both a dataSource and a delegate, which its client can implement. At the very least HGPageScrollView expects its dataSource to provide HGPageViews to display.

tribute - ES6 Native @mentions

  •    Javascript

A cross-browser @mention engine written in ES6, no dependencies. Tested in Firefox, Chrome, iOS Safari, Safari, IE 9+, Edge 12+, Android 4+, and Windows Phone. There are a few ways to install Tribute; Bower, as an NPM Module, or by downloading from the dist folder in this repo.

viewport-units-buggyfill - Making viewport units (vh|vw|vmin|vmax) work properly in Mobile Safari.

  •    Javascript

This is a buggyfill (fixing bad behavior), not a polyfill (adding missing behavior). That said, it provides hacks for you to get viewport units working in old IE and Android Stock Browser as well. If the browser doesn't know how to deal with the viewport units - vw, vh, vmin and vmax - this library will not improve the situation unless you're using the hacks detailed below. The buggyfill uses the CSSOM to access the defined styles rather than ship its own CSS parser, that'S why the hacks abuse the CSS property content to get the values across. The buggyfill iterates through all defined styles the document knows and extracts those that uses a viewport unit. After resolving the relative units against the viewport's dimensions, CSS is put back together and injected into the document in a <style> element. Listening to the orientationchange event allows the buggyfill to update the calculated dimensions accordingly.

UI-Feedbacks - A bunch of feedback ideas for your buttons

  •    HTML

I still didn't have the chance to test it on IE* nor IE* Mobile or older versions of Safari. I tested Chrome for Android and Safari Mobile (on the iOS Simulator). Both seems to work fine.

BLKFlexibleHeightBar - Create condensing header bars like those seen in the Facebook, Square Cash, and Safari iOS apps

  •    Objective-C

BLKFlexibleHeightBar allows you to create header bars with flexible heights. Often, this sort of UI paradigm is used to hide "chrome" and make room for more content as a user is scrolling. This is seen in third party apps like Facebook and Square Cash, as well as first party apps like Safari. Due to this library's modular, extensible nature, you are not limited to any one look or any one feel. What UICollectionView does for presenting collections of data, BLKFlexibleHeightBar does for creating header bars.

SafariOmnibar - Safari plugin to add Chrome like omnibar in Safari

  •    Objective-C

Safari plugin to add Chrome like omnibar in Safari

UniversalProject - 基于MVC架构的iOS轻量级框架,封装了基类、基于猿题库YTKNetwork的网络服务、工具库,NavigationController转场动画/瀑布流/粒子动画/小demo,已适配iOS11 & iPhone X。欢迎Star🌟

  •    Objective-C

基于MVC架构的iOS轻量级框架,封装了基类、基于猿题库YTKNetwork的网络服务、工具库,NavigationController转场动画/瀑布流/粒子动画/小demo,已适配iOS11 & iPhone X。欢迎Star🌟

autopolyfiller - Autopolyfiller — Precise polyfills

  •    Javascript

This is like Autoprefixer, but for JavaScript polyfills. It scans your code and applies only required polyfills. Live example. Assume you code is Object.keys(window). Object.keys polyfill is required to run it in any browser (include IE7). On the other hand this code can be executed on iOS 7 Safari without any polyfills. AutoPolyfiller knows about ES5 and ES6 features and their support in browsers. It can help you to write cutting-edge JavaScript without thinking about ES shims and shivs.

SafariTabSwitching - A SIMBL plugin for Safari 5

  •    Objective-C

Great news! Apple has finaly included the capability offered by this plugin in Safari 9. Please read #50 for more info.Safari Tab Switching is a Safari SIMBL plugin which allow switching between tabs using Cmd+1-9.

chromedp - Package chromedp is a faster, simpler way to drive browsers (Chrome, Edge, Safari, Android, etc) without external dependencies (ie, Selenium, PhantomJS, etc) using the Chrome Debugging Protocol

  •    Go

Package chromedp is a faster, simpler way to drive browsers in Go using the Chrome Debugging Protocol (for Chrome, Edge, Safari, etc) without external dependencies (ie, Selenium, PhantomJS, etc).NOTE: chromedp's API is currently unstable, and may change at a moments notice. There are likely extremely bad bugs lurking in this code. CAVEAT USER.

Vimmy.safariextension - A small set of Vim behaviours for Safari

  •    Javascript

The best way to get the latest version is to download the release file from GitHub. The extension is available on the Safari Extensions Gallery but they haven't been responding to my requests for an update, so the version there is stale. It's also possible to add a global hard-coded website blacklist. If you have thoughts or suggestions for this, please check out the Github repo.

Ka-Block - A Safari extension that blocks an artisanal selection of advertising domains.

  •    Swift

A Safari browser extension that blocks an artisanal selection of advertising domains. The most popular ad blocking extensions take a no holds barred, nuke them from orbit approach. The goal is not only to never see an ad on a web page, but to never see the sad, empty space left behind by the ad that used to be.

FaceCropper - :scissors: Crop faces, inside of your image, with iOS 11 Vision api.

  •    Swift

To run the example project, clone the repo, and run pod install from the Example directory first. FaceCropper is available under the MIT license. See the LICENSE file for more info.