首页 > 其他分享 >docker desktop url protocl 技术以及使用

docker desktop url protocl 技术以及使用

时间:2022-10-14 10:48:02浏览次数:67  
标签:protocl url desktop className createElement docker

docker desktop 在登录的使用使用了自定义的url 协议,同时基于web 进行系统登录,认证完成之后会生成code,之后通过
url 协议进入

使用

  • docker
    协议定义
 
<array>
  <dict>
    <key>CFBundleTypeRole</key>
    <string>Editor</string>
    <key>CFBundleURLName</key>
    <string>docker-desktop</string>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>docker-desktop</string>
    </array>
  </dict>
</array>

js 使用
https://d36jcksde1wxzq.cloudfront.net/9241.d6356172711deaa97954.js
处理

 
function v() {
        const {search: a} = (0,
        s.TH)()
          , e = p()
          , c = `docker-desktop://auth0/complete-login${a}`;
        return (0,
        l.useEffect)((()=>{
            window.Cypress || (window.location.href = c)
        }
        ), [c]),
        l.createElement(l.Fragment, null, l.createElement(h.ql, {
            title: "Redirecting..."
        }), l.createElement(t.Z, {
            maxWidth: "sm",
            className: e.root,
            "data-testid": "desktop-auth-page"
        }, l.createElement(m.Z, {
            className: e.logo
        }), l.createElement(n.Z, {
            className: e.paper
        }, l.createElement(r.Z, {
            variant: "h2",
            component: "h1",
            className: e.title
        }, "You're almost done!"), l.createElement(r.Z, {
            className: e.explanation
        }, "We're redirecting you to the desktop app. If you don't see a dialog, please click the button below."), l.createElement(o.Z, {
            href: c,
            variant: "contained",
            color: "primary"
        }, "Proceed to Docker Desktop"))))
    }
}

参考请求格式

docker-desktop://auth0/complete-login?code=<code>

说明

app protocl 在一些基于web 认证的桌面应用中使用比较多,比如electron 就支持app protocl 可以方便的做一些认证集成
语雀,飞书等应用都已经默认包含了自己的url protocl

参考资料

https://www.npmjs.com/package/protocol-registry
https://github.com/Shubham-Kumar-2000/protocol-registry
https://stackoverflow.com/questions/18534591/how-to-register-a-url-protocol-handler-in-node-js/67231906#67231906
http://www.electronjs.org/docs/latest/api/protocol

标签:protocl,url,desktop,className,createElement,docker
From: https://www.cnblogs.com/rongfengliang/p/16790818.html

相关文章

  • 在HTML网页中巧用URL
    首先,先放出一个地址给大家测试​​http://cnbruce.com/test/htmlpro/?name=cnbruce&[email protected]​​1,时下流行的(可能是吧,因为最近问的人比......
  • http请求方式-HttpURLConnection
    http请求方式-HttpURLConnectionimportcom.alibaba.fastjson.JSON;importcom.example.core.mydemo.http.OrderReqVO;importorg.springframework.lang.Nullable;im......
  • Apple系统应用URL Scheme
    Apple-BrandedApps&ServicesAMSEngagementViewServiceams-ui://ams-ue://AppStoreitms-apps://itunes.apple.comOpenaccountsettingsitms-ui://Openspecifica......
  • flask框架路由url转换器用法
     app.route('url')中支持string,int,float,path等类型,隐形支持正则。实现flask支持正则的步骤1 定义正则类,继承BaseConverterfromwerkzeug.routingimportBaseConvertercl......
  • 操作URL的黑科技
     处理URL的query的接口:URLSearchParams//处理URL的query的接口:URLSearchParams//简单使用leturl='?wd=胡歌&love=fx&year=2020';letsearchParams=newURLSearchPar......
  • js获取url参数方法
    _gup(name,url,encode){if(!url)url=location.href;name=this.encrypt(name,encode);name=name.replace(/[\[]/,"\\[").replace(/[\]]/,"......
  • postman中 form-data、x-www-form-urlencoded的区别
    1、form-data:就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会......
  • HTML url编码参照表
    出处:https://www.w3school.com.cn/tags/html_ref_urlencode.asp一些常用的#%23space%20回车%0d换行%0a......
  • The included URLconf 'devops.urls' does not appear to have any patterns in it
    问题背景:clonegit仓库项目启动django时候报错/usr/local/python3/lib/python3.6/site-packages/paramiko/transport.py:33:CryptographyDeprecationWarning:Python3......
  • nginx url地址重写与转发
    1. 去掉地址中的/api部分location/api/ws{      rewrite"^/api(.*)$"$1;   }2. /ws地址将转发http://47.119.131.185location/ws{      pr......