Android 应用接入LinuxDo Connect方法

项目地址: LinuxDoAuthDemo
采用Jetpack Compose开发,需要手机浏览器登录了L站
接入自己应用的时候替换MainActivity中第26行的 CLIENT_ID 和第27行的 CLIENT_SECRET 就行
原理就是在Axml中自定义了一个协议头,比如我的Demo里面写的就是ldauth
如果浏览器里面输入ldauth://cn.wantu.linuxdoauth/callback这个网址,就会拉起app,本来想在LinuxDo Connect里面直接把回调地址填成这个,但提示回调地址不合法,所以我就用cf worker简单写了个重定向

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
  const url = new URL(request.url);
  if(url.pathname == "/callback") {
    const code = url.searchParams.get('code');
    const state = url.searchParams.get('state');
    return Response.redirect(`ldauth://cn.wantu.linuxdoauth/callback?code=${code}&state=${state}`, 302);
  }
  return new Response('Hello World!');
}

Auth的具体原理参考大佬的帖子
Linux do Connect Docs - 资源荟萃 - LINUX DO
可以自己下载Demo体验一下
Demo下载地址:Demo.apk

7 个赞

好东西,感谢分享

太强了!

进来看看是什么

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。