Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

外部サービス認証情報の配信 #3975

Merged
merged 8 commits into from
Jan 24, 2019
Merged

Conversation

acid-chicken
Copy link
Member

@acid-chicken acid-chicken commented Jan 23, 2019

Summary

独自仕様を作成してリモートからも外部サービス認証情報を表示できるように。

@acid-chicken acid-chicken added ✨Feature This adds/improves/enhances a feature packages/backend Server side specific issue/PR ActivityPub labels Jan 23, 2019
@acid-chicken acid-chicken self-assigned this Jan 23, 2019
@rinsuki
Copy link
Contributor

rinsuki commented Jan 23, 2019

独自プロパティを追加する場合は独自ネームスペース(example: Mastodonの独自拡張(pinned toots)などはhttp://joinmastodon.org/ns#下にある)にしたほうがいいのでは (diffを見るかぎりそういう変更は見られなかったがもうしてたらごめん)

@acid-chicken
Copy link
Member Author

@rinsuki schema.org の仕様に沿って再構成してみました。いかがでしょうか。

src/remote/activitypub/models/person.ts Show resolved Hide resolved
src/remote/activitypub/models/person.ts Outdated Show resolved Hide resolved
src/remote/activitypub/models/person.ts Outdated Show resolved Hide resolved
src/remote/activitypub/models/person.ts Show resolved Hide resolved
@mei23
Copy link
Contributor

mei23 commented Jan 23, 2019

そもそも、他のインスタンスが名乗っている「外部サービスと認証済み」という情報が有用なのか気になる。
他のインスタンスで認証済みという情報を信用していいいのか。

@syuilo
Copy link
Member

syuilo commented Jan 23, 2019

手動でプロフィールに他サービスのリンクを書く手間が省けると考えれば便利かもしれない

@mei23
Copy link
Contributor

mei23 commented Jan 23, 2019

既に外部サービス連携したときのリンクは Misskey => Misskey, Mastodon で送信と表示ができていて
これでは、identifier以下で情報追加がされる感じ

   [ { type: 'PropertyValue',
       name: 'GitHub',
       value:
        '<a href="https://github.com/login" rel="me nofollow noopener" target="_blank"><span>@login</span></a>',
★       identifier:
★        { type: 'PropertyValue',
★          name: 'misskey:authentication:github',
★          value: '123456789@login' } } ] }

@syuilo
Copy link
Member

syuilo commented Jan 23, 2019

あ、そうでしたね 失礼しました

@syuilo
Copy link
Member

syuilo commented Jan 23, 2019

ただMastodonはリンクを4つまでしか表示できないのでMisskeyがそういう機能に対応した場合その枠を圧迫するかもしれないみたいな話が前にありませんでしたっけ?それの解決策にはなるかも

@syuilo
Copy link
Member

syuilo commented Jan 23, 2019

あーでもこのPRは独自仕様なのでMastodonからは見えないのか

@mei23
Copy link
Contributor

mei23 commented Jan 23, 2019

  [ { type: 'PropertyValue', ← ★このツリー自体がMastodonの4つしかないFieldsの1つに相当するので
       name: 'GitHub',
       value:
        '<a href="https://github.com/login" rel="me nofollow noopener" target="_blank"><span>@login</span></a>',
★       identifier:
★        { type: 'PropertyValue',
★          name: 'misskey:authentication:github',
★          value: '123456789@login' } } ] }

枠制限の影響をなくすにはtype: 'PropertyValue'の何がを定義しないといけなそう

@rinsuki
Copy link
Contributor

rinsuki commented Jan 23, 2019

あの機能はMastodonのUI上で設定できる数に上限があるだけで、連合からやってきた場合の表示制限は恐らくそんなに小さい値ではない(もしかしたらないかもしれない)

@rinsuki
Copy link
Contributor

rinsuki commented Jan 23, 2019

例: https://odakyu.app/ はMastodonに変更を加えて枠制限を緩和しているが、4枠を越えて設定しているユーザー https://odakyu.app/@ars42525 のプロフィールもバニラなMastodon v.2.7.0である mstdn.rinsuki.net 上のWebUIでちゃんと表示できている

@syuilo
Copy link
Member

syuilo commented Jan 23, 2019

そうなるとめいめいの指摘のようにあまり意味はないのかしら

@mei23
Copy link
Contributor

mei23 commented Jan 23, 2019

おそらく、リモートのMisskey等でも認証済みのバッジを表示することなど
(フィールドのname, valueではなく) を意図してそうだけど、
image
そうだとすると、外部インスタンスが名乗った情報を本当に採用して表示していいのか気になる。

@rinsuki
Copy link
Contributor

rinsuki commented Jan 23, 2019

Twitter(の公開アカウント)とGitHubはKeybaseの手法(自分がKeybase上では誰かなどを含めたメッセージを署名して投稿し、第三者がそれを見て検証できるようにする)をアカウントのkeyでやれば証明はできそう。Discordは...

@rinsuki
Copy link
Contributor

rinsuki commented Jan 23, 2019

(もっともKeybaseと違ってMisskeyなら鍵の検証とまではいかなくてもbioにurlがあるかどうかでチェックしてもよさそうだけど)

@acid-chicken
Copy link
Member Author

@mei23 Thank you for the review!

@acid-chicken
Copy link
Member Author

外部インスタンスが名乗った情報を本当に採用して表示していいのか気になる。

「このユーザー情報はコピーです。」という既存の警告文を「このユーザー情報は不正確な場合があります。」などに変更することでとりあえずはなんとかなりそうではあるけど、もしそれでも表示されること自体が認証を受けていそうで気持ち悪いという場合は、別途同じ表示をユーザー名の横に増やすか、あるいは別で認証プロセスを設けたほうが良さそう?

@mei23
Copy link
Contributor

mei23 commented Jan 24, 2019

独自プロパティ対応で'misskey:authentication:github'とかにしているとこが
違うのではないかと思います。

  [ { type: 'PropertyValue',
       name: 'GitHub',
       value:
        '<a href="https://github.com/login" rel="me nofollow noopener" target="_blank"><span>@login</span></a>',
       identifier: ←独自プロパティってこっちのことでは
        { type: 'PropertyValue',
          name: 'misskey:authentication:github', ←こっちは独自プロパティではないのでは
          value: '123456789@login' } } ] }

たぶん@contextに定義を追加するような形ではと思います

{ '@context':
  toot: 'http://joinmastodon.org/ns#',
  featured: 'toot:featured',
  ostatus: 'http://ostatus.org#',
  atomUri: 'ostatus:atomUri',

ただ今@contextほとんど記載してないですね

@mei23
Copy link
Contributor

mei23 commented Jan 24, 2019

「このユーザー情報はコピーです。」という既存の警告文を

UI作る時に考えるとかでいいかもと

@acid-chicken
Copy link
Member Author

acid-chicken commented Jan 24, 2019

identifierPropertyValueの正式なプロパティなのでもはや独自プロパティは無くなりました。
FYI: https://schema.org/PropertyValue

@syuilo syuilo merged commit e2f7e82 into develop Jan 24, 2019
@syuilo
Copy link
Member

syuilo commented Jan 24, 2019

🙏🙏🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨Feature This adds/improves/enhances a feature packages/backend Server side specific issue/PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants