mirror of
https://github.com/FluuxIO/go-xmpp.git
synced 2024-11-24 03:22:01 -08:00
Support for XEP-0070
This commit allows to create a component to use 2FA authentication with XMPP.
This commit is contained in:
parent
5f99e1cd06
commit
1346ff2a13
50
stanza/httauth.go
Normal file
50
stanza/httauth.go
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
package stanza
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/xml"
|
||||||
|
)
|
||||||
|
|
||||||
|
// XEP-0070: Verifying HTTP Requests via XMPP
|
||||||
|
type ConfirmPayload struct {
|
||||||
|
XMLName xml.Name `xml:"http://jabber.org/protocol/http-auth confirm"`
|
||||||
|
ID string `xml:"id,attr"`
|
||||||
|
Method string `xml:"method,attr"`
|
||||||
|
URL string `xml:"url,attr"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c ConfirmPayload) Namespace() string {
|
||||||
|
return c.XMLName.Space
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c ConfirmPayload) GetSet() *ResultSet {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------
|
||||||
|
// Builder helpers
|
||||||
|
|
||||||
|
// Confirm builds a default confirm payload
|
||||||
|
func (iq *IQ) Confirm() *ConfirmPayload {
|
||||||
|
d := ConfirmPayload{
|
||||||
|
XMLName: xml.Name{Space: "http://jabber.org/protocol/http-auth", Local: "confirm"},
|
||||||
|
}
|
||||||
|
iq.Payload = &d
|
||||||
|
return &d
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set all confirm info
|
||||||
|
func (v *ConfirmPayload) SetConfirm(id, method, url string) *ConfirmPayload {
|
||||||
|
v.ID = id
|
||||||
|
v.Method = method
|
||||||
|
v.URL = url
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
TypeRegistry.MapExtension(PKTMessage,
|
||||||
|
xml.Name{Space: "http://jabber.org/protocol/http-auth", Local: "confirm"},
|
||||||
|
ConfirmPayload{})
|
||||||
|
TypeRegistry.MapExtension(PKTIQ,
|
||||||
|
xml.Name{Space: "http://jabber.org/protocol/http-auth", Local: "confirm"},
|
||||||
|
ConfirmPayload{})
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user