OAuth2WebViewController
@available(macOS 10.10, *)
public class OAuth2WebViewController : NSViewController, WKNavigationDelegate, NSWindowDelegate
A view controller that allows you to display the login/authorization screen.
-
Designated initializer.
Declaration
Swift
public init() -
Handle to the OAuth2 instance in play, only used for debug logging at this time.
Declaration
Swift
var oauth: OAuth2Base? -
Configure the view to be shown as sheet, false by default; must be present before the view gets loaded.
Declaration
Swift
var willBecomeSheet: Bool -
The URL to load on first show.
Declaration
Swift
public var startURL: URL? { get set } -
The URL string to intercept and respond to.
Declaration
Swift
public var interceptURLString: String? { get set } -
Internally used; the URL components, derived from
interceptURLString, comprising the URL to be intercepted.Declaration
Swift
var interceptComponents: URLComponents? -
Closure called when the web view gets asked to load the redirect URL, specified in
interceptURLString. Return a Bool indicating that you’ve intercepted the URL.Declaration
Swift
public var onIntercept: ((URL) -> Bool)? -
Called when the web view is about to be dismissed manually.
Declaration
Swift
public var onWillCancel: (() -> Void)? -
Our web view; implicitly unwrapped so do not attempt to use it unless isViewLoaded() returns true.
Declaration
Swift
var webView: WKWebView! -
Initializer from an NSCoder.
Declaration
Swift
required public init?(coder aDecoder: NSCoder)
-
Default web view window width; defaults to 600.
Declaration
Swift
internal static let webViewWindowWidth: CGFloat -
Default web view window height; defaults to 500.
Declaration
Swift
internal static let webViewWindowHeight: CGFloat -
Override to fully load the view; adds a
WKWebView, optionally a dismiss button, and shows the loading indicator.Declaration
Swift
override public func loadView() -
This override starts loading
startURLif nothing has been loaded yet, e.g. on first show.Declaration
Swift
override public func viewWillAppear() -
Override to set the window delegate to self.
Declaration
Swift
override public func viewDidAppear() -
Adds a loading indicator view to the center of the view.
Declaration
Swift
func showLoadingIndicator() -
Hides the loading indicator, if it is currently being shown.
Declaration
Swift
func hideLoadingIndicator() -
Convenience method to show an error message; will add the error to a
element shown centered in the web view.
Declaration
Swift
func showErrorMessage(_ message: String, animated: Bool)
-
Loads the given URL in the web view.
Declaration
Swift
public func loadURL(_ url: URL)Parameters
urlThe URL to load
-
Tells the web view to go back in history.
Declaration
Swift
func goBack(_ sender: AnyObject?) -
Tells the web view to stop loading the current page, then calls the
onWillCancelblock if it has a value.Declaration
Swift
@objc func cancel(_ sender: AnyObject?)
-
Undocumented
Declaration
Swift
public func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) -
Undocumented
Declaration
Swift
public func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) -
Undocumented
Declaration
Swift
public func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error)
-
Undocumented
Declaration
Swift
public func windowShouldClose(_ sender: NSWindow) -> Bool
View on GitHub
Install in Dash
OAuth2WebViewController Class Reference